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
。