Docker应用指南-使用脚本自动启动docker容器

自动启动docker

你可以是用这些进程管理工具来启动docker upstartsystemd 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