【问题标题】:How to ensure a Docker container starts and stays running on a production server?如何确保 Docker 容器在生产服务器上启动并保持运行?
【发布时间】:2015-01-13 09:04:26
【问题描述】:

我想编写一个可以在生产服务器上运行的 Bash 脚本。它将从 Docker 中心下载 Docker 映像,启动它并保持生成的容器运行。在容器内部,我使用Supervisor 来保持服务器和数据库的运行,Supervisor 会重新启动容器内终止的所有进程。

但是容器本身呢?关于如何确保容器在主机重新启动后启动以及容器在以某种方式崩溃时重新启动,是否有任何建议/最佳实践?有一个--restart flag 可以给docker run。因此,要确保容器启动并保持运行,只需将此行添加到/etc/rc.local?

docker run -d --restart=always --name=container-name image-name command

对吗? (而且我不需要使用nohup 或任何&。)或者这种方法是否存在一些我忽略的问题,或者我遗漏的其他问题?

例如,我不需要以某种方式确保 docker 服务本身保持正常运行吗?我可以相信它还活着?

(相关问题,但只是关于保持 docker 运行,而不是在重新启动时启动它:making sure a given docker container is running

我的主机和容器操作系统:Ubuntu 14.04。

【问题讨论】:

    标签: docker production-environment supervisord


    【解决方案1】:

    使用 --restart=always 你只需要执行一次 docker run 。之后 Docker 服务将负责重启。所以只需执行一次这样的命令:

    docker run -d --restart=always --name=container-name image-name command
    

    容器进程停止和重启后,docker会重启容器。

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 2020-07-17
      • 2017-08-23
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      相关资源
      最近更新 更多