docker工人?

我正在切换到docker。 想要做一些像monit:如果一个容器崩溃,重新启动它。 如果内存超过一定的限制,重新启动它。 怎么可能呢?

您可以使用Docker的1.2新function: Container Restart 。 它可能不像monit那么强大(我不知道这个工具是什么)。

您可以将标志--restart=always添加到--restart=always docker run ,告诉--restart=always在崩溃时始终重新启动容器。

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

有关更多信息,请参阅Docker 1.2 发行说明

虽然docker提供的Container Restartfunction给了一些帮助,但并不像monit那么彻底。 我问无花果回购https://github.com/docker/fig/issues/464 ,有人build议使用上帝或Bluepill。 我看着上帝,在容器中运行上帝是很有意义的,让上帝监视着我的webapp进程。