查看原文
其他

了解用于 Linux 和 Windows 容器的 Docker “容器主机”与“容器操作系统”

2017-11-28 译者:geekpi Linux中国
让我们来探讨一下“容器主机”和“容器操作系统”之间的关系,以及它们在 Linux 和 Windows 容器之间的区别。
-- Floyd Hilton


本文导航
编译自 | http://floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html 
 作者 | Floyd Hilton
 译者 | geekpi

让我们来探讨一下“容器主机”和“容器操作系统”之间的关系,以及它们在 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[1] 基础镜像的 Docker 文件,然后运行直接使用内核的二进制文件。◈ 查看这篇[2]文章来比较基础 OS 的大小。

Windows Containers - Non Hyper-V

在上面的例子中:

◈ 主机操作系统是 Windows 10 或 Windows Server。◈ 每个容器共享主机操作系统内核。◈ 所有 Windows 容器都需要 nanoserver[3] 或 windowsservercore[4] 的基础操作系统。

Windows Containers - Hyper-V

在上面的例子中:

◈ 主机操作系统是 Windows 10 或 Windows Server。◈ 每个容器都托管在自己的轻量级 Hyper-V 虚拟机中。◈ 每个容器使用 Hyper-V 虚拟机内的内核,它在容器之间提供额外的分离层。◈ 所有 Windows 容器都需要 nanoserver[3] 或 windowsservercore[4] 的基础操作系统。

几个好的链接

◈ 关于 Windows 容器[5]◈ 深入实现 Windows 容器,包括多用户模式和“写时复制”来节省资源[6]◈ Linux 容器如何通过使用“写时复制”来节省资源[7]

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

作者:Floyd Hilton[9] 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者
geekpi 💎 💎共计翻译:591 篇贡献时间:1494 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存