如何在崩溃时自动监视并重启docker容器?

时间:2015-05-04 22:17:17

标签: docker

我目前正在使用offical ghost imagenginx-proxy图像运行两个虚拟服务器,这是我的构建。

docker run -d -p 86:2368 --name home -e "VIRTUAL_HOST=hostname.com" ghost 
docker run -d -p 85:2368 --name home-blog -e "VIRTUAL_HOST=blog.hostname.com" ghost

它们都运行良好,但过了一段时间(有时是几小时或一天),其中一个虚拟服务器会崩溃,我必须重新启动容器才能使其正常工作。

我想知道是否有任何解决方案可以自动监控docker容器并在停机时重新启动它?

2 个答案:

答案 0 :(得分:14)

您应该使用ul.menu>li:before { /* 1st level */ } ul.menu>li>ul>li:before { /* 2nd level */ } ul.menu>li>ul>li>ul>li ... docs):

--restart

答案 1 :(得分:4)

事实上,您的容器主应用程序更可能崩溃,而不是您的容器。

当ID#0的进程在容器中停止或崩溃时,容器会自动停止。

关于您的担忧,重启选项(来自docker run命令)是一种可能性,正如Andy所说。

另一种可能性是使用supervisord作为容器的主要过程。您的应用程序将由supervisord启动和监控。 Supervisord将为您提供许多选项,以处理您的应用程序崩溃。您有许多关于日志记录,信号处理的有用选项......

有关详细信息,请参阅https://docs.docker.com/articles/using_supervisord/http://supervisord.org/