了解用于 Linux 和 Windows 容器的 Docker “容器主机”与“容器操作系统”
2018-06-03 00:00
996 查看
让我们来探讨一下“容器主机”和“容器操作系统”之间的关系,以及它们在 Linux 和 Windows 容器之间的区别。
容器操作系统Container OS:也被称为基础操作系统Base OS。基础操作系统是指包含操作系统如 Ubuntu、CentOS 或 windowsservercore 的镜像。通常情况下,你将在基础操作系统镜像之上构建自己的镜像,以便可以利用该操作系统的部分功能。请注意,Windows 容器需要一个基础操作系统,而 Linux 容器不需要。
操作系统内核Operating System Kernel:内核管理诸如内存、文件系统、网络和进程调度等底层功能。
在上面的例子中:
主机操作系统是 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 的基础操作系统。
深入实现 Windows 容器,包括多用户模式和“写时复制”来节省资源
Linux 容器如何通过使用“写时复制”来节省资源
via: http://floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html
一些定义
容器主机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 中运行一个容器。你可以创建一个含有 scratch 基础镜像的 Docker 文件,然后运行直接使用内核的二进制文件。
查看这篇文章来比较基础 OS 的大小。
在上面的例子中:
主机操作系统是 Windows 10 或 Windows Server。
每个容器共享主机操作系统内核。
所有 Windows 容器都需要 nanoserver 或 windowsservercore 的基础操作系统。
在上面的例子中:
主机操作系统是 Windows 10 或 Windows Server。
每个容器都托管在自己的轻量级 Hyper-V 虚拟机中。
每个容器使用 Hyper-V 虚拟机内的内核,它在容器之间提供额外的分离层。
所有 Windows 容器都需要 nanoserver 或 windowsservercore 的基础操作系统。
几个好的链接
关于 Windows 容器深入实现 Windows 容器,包括多用户模式和“写时复制”来节省资源
Linux 容器如何通过使用“写时复制”来节省资源
via: http://floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html
相关文章推荐
- Docker —— 用于统一开发和部署的轻量级 Linux 容器
- Docker实现跨主机容器实例网络通信(1)——利用LinuxBridge构建多主机Docker网络
- windows主机调用Linux虚拟机中的docker gui程序并显示
- Docker cp 命令(用于容器与主机之间的数据拷贝)
- Windows 与docker主机和container容器之间的文件共享
- Windows环境下通过虚拟主机安装Linux操作系统
- Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】
- Docker —— 用于统一开发和部署的轻量级 Linux 容器
- 了解下除国外的windows,linux,mac系统,看下国内的操作系统
- windows和linux下如何远程获取操作系统版本和主机名
- windows和linux下如何远程获取操作系统版本和主机名
- 虚拟机下的linux与主机windows之间的共享方法
- docker 容器和宿主机相互拷贝数据
- Linux容器技术和docker
- 未来操作系统:依然是Windows和Linux掌权 新军机会不大
- 在Microsoft Azure和Windows Server with Hyper-V环境中运行Linux客户端操作系统时,Oracle database的认证情况
- ssh命令用于远程登录上Linux主机
- 使用openvswitch实现跨主机docker容器互联
- 使用subversion实现虚拟机中linux和windows宿主机代码共享管理