Monit
在 Docker 容器中使用程序管理器有什麼好處?
正如杰羅姆所說,
您還需要添加一個流程管理器;例如監視器或主管。這是因為 Docker 將監視一個程序。如果您需要多個程序,則需要在頂層添加一個以處理其他程序。換句話說,您正在將一個精簡而簡單的容器變成更複雜的東西。
我並不完全清楚為什麼您需要在容器內使用流程管理器。
那麼有人可以向我解釋一下,在容器中擁有流程管理器的所有優勢是什麼?讓 systemd 或 upstart 處理程序而不是向容器添加額外的服務不是更好嗎?
這就是在容器內使用 systemd(或 upstart 等)的全部想法。Docker 大部分時間用於為每個容器執行一個服務,因此對於復雜的站點,您需要一個容器用於 Web 伺服器,另一個容器用於數據庫伺服器。使用流程管理器,您可以在同一個容器中執行兩者。
哪種方法更好是基於意見的。儘管截至 2014 年 6 月,從我所見,在 Docker 中執行 systemd 並不容易,例如存在錯誤#3629 -“在 docker arch 容器中執行 systemd 掛起或段錯誤”。有關更多詳細資訊,請參閱“在 Docker 容器中執行 systemd”。