如何在系统重启时自动启动 Docker 容器?

如何在系统重启时自动启动 Docker 容器?

由于我在 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 模块自动创建启动脚本更完整(启动、停止、重启、清理选项......)

相关内容