由于我在 docker 容器中托管了一个 WordPress 网站,并且我希望这些容器始终在启动时启动,因此需要手动完成。
答案1
在现有容器上添加重启策略是一个非常常见的用例。
可以使用以下命令完成此操作:
docker update --restart {no,on-failure,unless-stopped,always} container_name
更多细节:Docker - 自动启动容器
答案2
到目前为止,我认为没有办法正常地做到这一点。一个棘手的解决方案是使用重启策略
sudo docker run --restart=always -d your_image
这意味着无论何时你关闭它都会退出你的容器,因此当你启动你的主机时这会导致重新启动docker。
答案3
由于 ubuntu 15 现在支持 systemd,该管理器的示例:
某个服务名称.服务
[Unit]
Description=Some service
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 2 container_name
[Install]
WantedBy=multi-user.target
更多详情请访问码头工人网站
PS:非常可爱的配置:)
答案4
我所做的是使用 Upstart 文件。
您可以在以下位置找到一些示例和其他解决方案Docker 网站。
在 /etc/init 中创建如下文件:
Description "My container"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
/usr/bin/docker start -a mycontainer
end script
pre-stop script
/usr/bin/docker stop mycontainer
end script
注意,从 Docker 1.2 开始,重启策略这也可能有助于在运行docker服务时自动重启容器(例如启动后)。
就我个人而言,我使用 puppet 来配置我的工作站,并使用它Docker 模块自动创建启动脚本更完整(启动、停止、重启、清理选项......)