Lxc

為什麼 docker 不將 init 執行為 lxc

  • December 28, 2015

Docker 沒有執行 init。所以服務在啟動時不會啟動。lxc 在 lxc-start 期間執行 init。由於 Docker 使用 lxc 為什麼它沒有執行 init。不執行 init 並依賴 supervisord 進行守護程序有什麼好處?

Docker 是一個應用程序容器,更專注於將應用程序作為容器分發。在這個容器內執行的應用程序/程序是唯一執行的,它們的 init 程序。如果您的程序需要更多應用程序(mysql、mongodb 數據庫等),您不會在由一個 init 守護程序管理的 docker 容器內啟動這些應用程序,而是啟動更多 docker 容器,每個容器都在 docker 容器內。

你可以試試http://phusion.github.io/baseimage-docker/它提供了一個簡單的 init 守護程序來在你的 docker 鏡像中執行更多的程序(這個是基於 Ubuntu 的)或者你可以試試 LXD http://www.ubuntu .com/cloud/lxd用於更像系統容器的容器技術。

引用自:https://serverfault.com/questions/562470