如何确保Docker容器在生产服务器上启动并保持运行?

如何确保Docker容器在生产服务器上启动并保持运行?,docker,production-environment,supervisord,Docker,Production Environment,Supervisord,我想编写一个可以在生产服务器上运行的Bash脚本。它将从Docker hub下载Docker映像,启动它并保持生成的容器运行。在容器内,我使用它来保持服务器和数据库的运行,并且Supervisor会重新启动容器内死亡的任何进程 但是容器本身呢?对于如何确保容器在主机重新启动后启动,以及如果容器以某种方式崩溃,如何确保容器重新启动,是否有任何建议/最佳实践?人们可以给docker run提供一个很好的解决方案。因此,为了确保容器启动并保持运行,只需将此行添加到/etc/rc.local docke

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

但是容器本身呢?对于如何确保容器在主机重新启动后启动,以及如果容器以某种方式崩溃,如何确保容器重新启动,是否有任何建议/最佳实践?人们可以给docker run提供一个很好的解决方案。因此,为了确保容器启动并保持运行,只需将此行添加到
/etc/rc.local

docker run -d --restart=always --name=container-name image-name command
对吧??(我不需要使用
nohup
或任何
&
),或者这种方法是否存在我忽略的问题,或者我遗漏了什么

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

(相关问题,但仅关于保持docker运行,而不是在重新启动时启动它:)

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

With--restart=始终只需执行docker run一次。Docker服务将负责此后的重新启动。所以只需执行这样的命令一次:

docker run -d --restart=always --name=container-name image-name command
而docker将在容器进程停止和重新启动后重新启动容器