自动启动docker
你可以是用这些进程管理工具来启动docker upstart
, systemd
andsupervisor
.
说明
如果你想通过进程管理来管理操作你的容器,那么就需要在启动容器的时候指定-r=false
,这样docker就不会在主机重启的时候自动重启了。
当你完成自己的image镜像打包,开始使用容器的时候,你可以是用进程来管理它。当你使用 docker start -a 启动docker容器的时候,并接受相应的信号量对docker容器进行例如关闭和重启的操作。
下面是几个用进程来管理docker的脚本实现
Upstart 脚本示例
示例中使用一个Redis容器,并使用/etc/init/redis.conf 作为redis的配置文件。
description "Redis container"
author "Me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
/usr/bin/docker start -a redis_server
end script
下面添加到docker启动项 -r=false
$ sudo sh -c "echo 'DOCKER_OPTS=\"-r=false\"' > /etc/default/docker"
systemd 脚本示例
[Unit]Description=Redis container
Author=MeAfter=docker.service
[Service]Restart=always
ExecStart=/usr/bin/docker start -a redis_server
ExecStop=/usr/bin/docker stop -t 2 redis_server
[Install]WantedBy=local.target