2015-04-02 54 views
0

我一直在看Docker,並且我已經瞭解到,與VM不同的是,docker使用主機操作系統的內核。爲什麼要求基本映像必須是OS。爲什麼docker無法使用主機操作系統的資源(如:文件系統)並使用主機操作系統支持的隔離? (我假設主機操作系統提供隔離機制)爲什麼Docker不能用於所有目的的主機操作系統

+1

一Docker的優勢在於,你可以從Ubuntu主機(或其他任何地方)運行Centos/Debian/fedora/busybox ...基於容器 – user2915097 2015-04-02 13:17:28

回答

1

這取決於您如何定義操作系統。 Docker鏡像不是full OS(與虛擬機不同)。他們沒有自己的核心。這意味着沒有特定的內核模塊(用於外部硬件的設備驅動程序等),因爲主機OS已經擁有它們。

圖像只是流行的Linux發行版的文件系統克隆(圖像中的二進制文件是爲目標arch構建的offcourse)。可以有它多發的原因,我會嘗試把一些在這裏:

  • 近VM般的體驗,因爲用戶喜歡用自己喜歡的Linux發行 基於分佈
  • 預配置庫。允許您立即運行應用程序,並注意所有基於分佈式的依賴關係。
  • 靈活性同一臺主機上運行多個分佈的(大開發/測試沙盒!)
  • 從其他容器中,作爲每個圖像更大的隔離是自給自足,而不必與他人共享文件系統
+1

請注意,您可以使用** no ** OS映像,只是一個二進制文件(如羣集圖像或其他)。圖像的* Os *部分存在於您的應用程序可能具有的依賴項中(對庫,二進制等)。 – 2015-05-25 09:49:30

相關問題