CoreOS中随着系统启动Docker Container

Start containers automatically

https://docs.docker.com/engine/admin/host_integration/

https://www.freedesktop.org/software/systemd/man/systemd.service.html

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

该示例使用systemd来实现

假设已经启动了一个--name=redis_server的容器

配置文件如下

[Unit]
Description=Redis container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a redis_server
ExecStop=/usr/bin/docker stop -t 2 redis_server

[Install]
WantedBy=default.target

将上面文件保存到 /etc/systemd/system 文件夹, 例如. /etc/systemd/system/docker-redis_server.service.

如果想要现在启动服务,重新加载systemd并启动服务

systemctl daemon-reload
systemctl start docker-redis_server.service

随着系统启动,执行如下命令

systemctl enable docker-redis_server.service

如果需要移除,将enable改为disalbe即可,示例:

systemctl disable docker-redis_server.service

查看该服务的执行信息

sudo systemctl status docker-redis_server.service

下面这个命令也可以,区别请自行摸索。

sudo journalctl -f -u runMongodbWGuorj.service

如果报错:Failed to enable unit: Interactive authentication required.,则需要使用管理员权限启动,例如:sudo systemctl enable docker-redis_server.service

posted @ 2017-03-23 16:13  nil  阅读(1562)  评论(0编辑  收藏  举报