当前位置: 首页 > 科技观察

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

时间:2023-03-12 14:10:45 科技观察

让我们探讨一下“容器主机”和“容器操作系统”之间的区别。一些定义容器主机:也称为主机操作系统。主机操作系统是运行Docker客户端和Docker守护进程的操作系统。对于Linux和非Hyper-V容器,主机操作系统与正在运行的Docker容器共享内核。对于Hyper-V,每个容器都有自己的Hyper-V内核。容器操作系统:也称为基础操作系统。基本操作系统是指包含操作系统(例如Ubuntu、CentOS或windowsservercore)的映像。通常,您将在基本操作系统映像之上构建您自己的映像,以便您可以利用该操作系统的各个部分。请注意,Windows容器需要底层操作系统,而Linux容器则不需要。操作系统内核:内核管理内存、文件系统、网络和进程调度等低级功能。下面的一些图表是上面示例中的Linux容器:主机操作系统是Ubuntu。Docker客户端和Docker守护进程(统称为Docker引擎)运行在主机操作系统上。每个容器共享主机操作系统内核。CentOS和BusyBox是Linux基础操作系统镜像。“无操作系统”容器意味着您不需要底层操作系统即可在Linux中运行容器。您可以创建一个包含临时基础映像的Dockerfile,并运行直接使用内核的二进制文件。查看本文以比较基本操作系统大小。Windows容器-非Hyper-V在上面的示例中:主机操作系统是Windows10或WindowsServer。每个容器共享主机操作系统内核。所有Windows容器都需要nanoserver或windowsservercore的基本操作系统。Windows容器-Hyper-V在上面的示例中:主机操作系统是Windows10或WindowsServer。每个容器都托管在自己的轻量级Hyper-V虚拟机中。每个容器都使用Hyper-V虚拟机内部的内核,这在容器之间提供了一个额外的分离层。所有Windows容器都需要nanoserver或windowsservercore的基本操作系统。几个很好的链接关于Windows容器深入研究实现Windows容器,包括多用户模式和“写时复制”以节省资源Linux容器如何通过使用“写时复制”来节省资源