Docker 沒有運行 init。所以啟動時服務不會啟動。 Lxc 在 lxc-start 期間運行 init。不執行 init 並依賴supervisord 進行守護程式有哪些優點?
答案1
Docker 是一個應用容器,更專注於將應用程式作為容器分發。在此應用程式/進程正在運行裡面容器是唯一正在運行的進程,即它們的 init 進程。如果您的進程需要更多應用程式(mysql、mongodb 資料庫等),您不會在由一個init 守護程序管理的docker 容器內啟動這些應用程序,而是啟動更多docker 容器,每個容器都在docker容器內。
你可以試試http://phusion.github.io/baseimage-docker/它提供了一個簡單的 init 守護程序來在你的 docker 映像中運行更多進程(這是基於 Ubuntu 的)或者你可以嘗試 LXDhttp://www.ubuntu.com/cloud/lxd容器技術的使用更像是系統容器。