Linux中國

了解用於 Linux 和 Windows 容器的 Docker 「容器主機」與「容器操作系統」

讓我們來探討一下「容器主機」和「容器操作系統」之間的關係,以及它們在 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 :內核管理諸如內存、文件系統、網路和進程調度等底層功能。

如下的一些圖

Linux Containers

在上面的例子中:

  • 主機操作系統是 Ubuntu。
  • Docker 客戶端和 Docker 守護進程(一起被稱為 Docker 引擎)正在主機操作系統上運行。
  • 每個容器共享主機操作系統內核。
  • CentOS 和 BusyBox 是 Linux 基礎操作系統鏡像。
  • 「No OS」 容器表明你不需要基礎操作系統以在 Linux 中運行一個容器。你可以創建一個含有 scratch 基礎鏡像的 Docker 文件,然後運行直接使用內核的二進位文件。
  • 查看這篇文章來比較基礎 OS 的大小。

Windows Containers - Non Hyper-V

在上面的例子中:

  • 主機操作系統是 Windows 10 或 Windows Server。
  • 每個容器共享主機操作系統內核。
  • 所有 Windows 容器都需要 nanoserverwindowsservercore 的基礎操作系統。

Windows Containers - Hyper-V

在上面的例子中:

  • 主機操作系統是 Windows 10 或 Windows Server。
  • 每個容器都託管在自己的輕量級 Hyper-V 虛擬機中。
  • 每個容器使用 Hyper-V 虛擬機內的內核,它在容器之間提供額外的分離層。
  • 所有 Windows 容器都需要 nanoserverwindowsservercore 的基礎操作系統。

幾個好的鏈接

via: http://floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html

作者:Floyd Hilton 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國