当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

由于我将WordPress网站托管在Docker容器中,并且我希望这些容器始终在引导时启动,因此需要手动完成。

最佳方案

在现有容器上添加重新启动策略是非常常见的用例。

可以使用以下命令完成此操作:docker update --restart {no,on-failure,unless-stopped,always} container_name

详细信息:Docker – Start containers automatically

次佳方案

到现在为止,我认为没有办法正常地做到这一点。一个棘手的解决方案是使用restart policy

sudo docker run --restart=always -d your_image

这意味着,每当您关闭它时,它将退出您的容器,以便在启动主机时导致重启docker。

第三种方案

由于ubuntu 15现在支持systemd,因此该管理器的示例:

someservicename.service

[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

有关docker site的更多信息

附言相当可爱的配置:)

第四种方案

我所做的是使用Upstart文件。

您可以在the Docker website中找到一些示例和其他解决方案。

在/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开始,有restart policies可能还有助于在运行docker服务时自动重启容器(例如,启动后)。

个性而言,我使用use来配置我的工作站,并使用此Docker module自动创建更完整的startup scripts(启动,停止,重新启动,清洁选项…)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10812.html,未经允许,请勿转载。