Linux中國
了解用於 Linux 和 Windows 容器的 Docker 「容器主機」與「容器操作系統」
讓我們來探討一下「容器主機」和「容器操作系統」之間的關係,以及它們在 Linux 和 Windows 容器之間的區別。
一些定義
- 容器主機 :也稱為 主機操作系統 。主機操作系統是 Docker 客戶端和 Docker 守護程序在其上運行的操作系統。在 Linux 和非 Hyper-V 容器的情況下,主機操作系統與運行中的 Docker 容器共享內核。對於 Hyper-V,每個容器都有自己的 Hyper-V 內核。
- 容器操作系統 :也被稱為 基礎操作系統 。基礎操作系統是指包含操作系統如 Ubuntu、CentOS 或 windowsservercore 的鏡像。通常情況下,你將在基礎操作系統鏡像之上構建自己的鏡像,以便可以利用該操作系統的部分功能。請注意,Windows 容器需要一個基礎操作系統,而 Linux 容器不需要。
- 操作系統內核 :內核管理諸如內存、文件系統、網路和進程調度等底層功能。
如下的一些圖
在上面的例子中:
- 主機操作系統是 Ubuntu。
- Docker 客戶端和 Docker 守護進程(一起被稱為 Docker 引擎)正在主機操作系統上運行。
- 每個容器共享主機操作系統內核。
- CentOS 和 BusyBox 是 Linux 基礎操作系統鏡像。
- 「No OS」 容器表明你不需要基礎操作系統以在 Linux 中運行一個容器。你可以創建一個含有 scratch 基礎鏡像的 Docker 文件,然後運行直接使用內核的二進位文件。
- 查看這篇文章來比較基礎 OS 的大小。
在上面的例子中:
- 主機操作系統是 Windows 10 或 Windows Server。
- 每個容器共享主機操作系統內核。
- 所有 Windows 容器都需要 nanoserver 或 windowsservercore 的基礎操作系統。
在上面的例子中:
- 主機操作系統是 Windows 10 或 Windows Server。
- 每個容器都託管在自己的輕量級 Hyper-V 虛擬機中。
- 每個容器使用 Hyper-V 虛擬機內的內核,它在容器之間提供額外的分離層。
- 所有 Windows 容器都需要 nanoserver 或 windowsservercore 的基礎操作系統。
幾個好的鏈接
via: http://floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html
作者:Floyd Hilton 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!