瞭解用於 Linux 和 Windows 容器的 Docker “容器

bluepeach發表於2021-09-09

讓我們來探討一下“容器主機”和“容器作業系統”之間的關係,以及它們在 Linux 和 Windows 容器之間的區別。

  • 容器主機Container Host:也稱為主機作業系統Host OS。主機作業系統是 Docker 客戶端和 Docker 守護程式在其上執行的作業系統。在 Linux 和非 Hyper-V 容器的情況下,主機作業系統與執行中的 Docker 容器共享核心。對於 Hyper-V,每個容器都有自己的 Hyper-V 核心。

  • 容器作業系統Container OS:也被稱為基礎作業系統Base OS。基礎作業系統是指包含作業系統如 Ubuntu、CentOS 或 windowsservercore 的映象。通常情況下,你將在基礎作業系統映象之上構建自己的映象,以便可以利用該作業系統的部分功能。請注意,Windows 容器需要一個基礎作業系統,而 Linux 容器不需要。

  • 作業系統核心Operating System Kernel:核心管理諸如記憶體、檔案系統、網路和程式排程等底層功能。

圖片描述

在上面的例子中:

  • 主機作業系統是 Ubuntu。

  • Docker 客戶端和 Docker 守護程式(一起被稱為 Docker 引擎)正在主機作業系統上執行。

  • 每個容器共享主機作業系統核心。

  • CentOS 和 BusyBox 是 Linux 基礎作業系統映象。

  • “No OS” 容器表明你不需要基礎作業系統以在 Linux 中執行一個容器。你可以建立一個含有 基礎映象的 Docker 檔案,然後執行直接使用核心的二進位制檔案。

  • 檢視文章來比較基礎 OS 的大小。

圖片描述

在上面的例子中:

  • 主機作業系統是 Windows 10 或 Windows Server。

  • 每個容器共享主機作業系統核心。

  • 所有 Windows 容器都需要 或 的基礎作業系統。

圖片描述

在上面的例子中:

  • 主機作業系統是 Windows 10 或 Windows Server。

  • 每個容器都託管在自己的輕量級 Hyper-V 虛擬機器中。

  • 每個容器使用 Hyper-V 虛擬機器內的核心,它在容器之間提供額外的分離層。

  • 所有 Windows 容器都需要 或 的基礎作業系統。



via:

作者: 譯者: 校對:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2803738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章