前言
学习记录。在windows系统中,Docker支持运行Linux或Windows容器。
环境:Windows Server 2019, Docker EE

1 Windows Container

Windows 容器(WCOW )包括两种类型:Windows Server Container和Hyper-V Container。 这两类容器基于不同的运行时隔离模式:process和Hyper-V。

1.1 Windows Server Container

Windows Server Container是基于进程隔离的容器。

在容器主机上通过命名空间、资源控制和进程隔离技术提供的隔离,可以并发运行多个容器实例。 在此模式下运行时,容器与主机以及彼此共享同一内核( 这与 Linux 容器的运行方式大致相同)。容器进程实际上运行在宿主机上,可以通过任务管理器或者Powershell 命令 Get-Process 获取到这个进程的信息。
在这里插入图片描述
参考:Isolation Modes

1.2 Hyper-V Container

通过 Hyper-v 隔离,在宿主机上启动一个很小的虚拟机,每个容器都在高度优化的虚拟机内运行,并具备自己独立的操作系统内核。 虚拟机的存在在每个容器和容器主机之间提供硬件级别隔离。在Hyper-V Container中启动进程的时候,宿主机对这个进程是无感知的。此隔离模式提供了主机和容器版本之间的增强安全性和更广泛的兼容性。
在这里插入图片描述

2 Linux Container

2.1 Moby Linux VM

Moby是继承早先的docker的项目,是社区维护的的开源项目,用于组装专门的容器系统。

LinuxKit是Docker最新发布的一个用于为容器构建安全、便携、可移植操作系统的工具包。它根据用户编写的yaml(指定kernel和基于docker image的一些列服务)自动构建一个常见虚拟化平台或云平台的虚拟机镜像,并自动运行起来。

LinuxKit负责提供用于创建容器类Linux发行版的各类工具,Moby项目则可帮助用户整合Docker发布至技术社区的各容器元素。

在Moby Linux VM模型中,Docker 客户端在 Windows 桌面上运行,但在 Linux VM 上调用到 Docker 后台程序。
在这里插入图片描述
参考:Windows 上的 Linux 容器

2.2 LCOW

LCOW 即Linux containers on Windows 缩写。

具有 Hyper-v 隔离的 Linux 容器,在已优化的 Linux VM 中运行每个 Linux 容器。 与 Moby VM 方法相比,每个 Linux 容器都有其自己的内核和自己的 VM 沙盒。 它们也可以由 Windows 上的 Docker 直接管理。
在这里插入图片描述

参考:
【1】 Windows 上的 Linux 容器

【2】 隔离模式

Logo

更多推荐