码头工人的监狱?

时间:2014-09-02 03:58:15

标签: docker

我正在切换到码头工人。想做像monit这样的事情:如果容器崩溃,重启它。如果内存超过某个限制,请重新启动它。怎么可能呢?

2 个答案:

答案 0 :(得分:3)

您可以使用Docker的1.2新功能:Container Restart。它可能没有monit那么强大(我不知道,因为我不知道该工具)。

您可以将标记--restart=always添加到docker run,以告知泊坞窗在崩溃时始终重启容器。

关于内存限制的情况,您可以通过获取容器内监视工具创建的日志从外部监视容器,并使用简单脚本使用docker restart重新启动容器。或者,如果您自己的程序正在运行,则可以对其进行编码,以便在达到内存限制时以有意义的退出代码退出,并使用--restart=on-failure:<number-of-tries>重新启动容器。

有关详细信息,请查看Docker 1.2 release note

答案 1 :(得分:1)

尽管docker提供的Container Restart功能提供了一些帮助,但它并不像monit那样彻底。我询问了无花果回购https://github.com/docker/fig/issues/464,并建议使用上帝或Bluepill。我看着上帝,在容器中运行上帝很有意义,让上帝监视我的webapp过程。

相关问题