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

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

但是容器本身怎么样?是否有关于如何确保容器在主机重新启动之后启动的build议/最佳实践,以及容器是否以某种方式崩溃重启? 有一个--restart标志 ,可以给docker run 。 因此,要确保容器启动并保持运行,所需要的就是将此行添加到/etc/rc.local

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

对? (我不需要使用nohup或任何& 。)或者是有这个方法,我忽略了一些问题,或者我失踪的其他东西?

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

(相关的问题,但只有关于保持docker运行,而不是重新启动它: 确保给定docker容器正在运行 )

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

使用–restart =总是只需要执行一次docker运行。 之后,Docker服务将关心重启。 所以只需执行一次这样的命令:

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

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