2014-09-02 49 views
3

我正在切換到碼頭。想要做類似monit的事情:如果容器崩潰,請重新啓動它。如果內存高於某個限制,請重新啓動它。它怎麼能做到?docker的monit?

回答

1

雖然泊塢窗提供的集裝箱重啓功能給予一定的幫助,它並不像monit的徹底。我詢問了無花果回購https://github.com/docker/fig/issues/464,並建議使用God或Bluepill。我看着上帝,它在容器中運行上帝很有意義,讓上帝監視webapp進程。

3

您可以使用Docker的1.2新功能:Container Restart。它可能不像monit那樣強大(雖然我不知道這個工具,但我不知道)。

您可以將標記--restart=always添加到docker run以告知docker在崩潰時始終重新啓動容器。

關於內存限制的情況,您可以通過從容器內部獲取監控工具創建的日誌並使用docker restart和一個簡單的腳本重新啓動它。或者,如果您有自己的程序正在運行,則可以對其進行編碼,以便在達到內存限制時使用有意義的退出代碼退出,並使用--restart=on-failure:<number-of-tries>重新啓動容器。

欲瞭解更多信息,您可以看看碼頭工人1.2 release note

+1

感謝您的信息。從發佈說明中,我會說'on-failure'採取'on-failure:重啓次數'的形式,而不是退出代碼。 – 2014-09-02 09:25:25

+0

是的,你是對的!我編輯了我的答案。 – abronan 2014-09-02 09:31:30