Windows 容器化技术初探
|
二、 Windows容器化技术 (一) Windows容器类型 相对于传统硬件虚拟化技术,容器技术更加轻量,其代价是容器中应用的运行仍一定程度上依赖于宿主机的操作系统内核提供的能力,多个容器共享宿主机的操作系统内核。也正是因为这个原因,Windows容器无法在Linux上运行,Linux容器也无法在Windows上运行。为提供容器化能力,Windows自Server 2016版开始逐渐加入了内核命名空间、控制组群、分层文件系统等内核功能,以提供类似Linux的容器化能力。
事实上,Windows支持两种类型的容器运行时:进程隔离和Hyper-V隔离。两种隔离模式可以在运行容器时以参数方式指定。 进程隔离,也称为Windows Server Containers,Windows Server上的默认隔离模式。在该模式下,宿主机上的多个容器共用该宿主机的操作系统内核,有一定的安全风险,只适用于私有云环境。同时由于共享内核,容器的内核版本应与宿主机的内核版本保持一致,即Windows Server 2019宿主机上只能运行Windows Server 2019的容器。 Hyper-V隔离,是上述模式的扩展,Windows 10上的默认隔离模式。在该模式下,每个容器独立运行于高度优化的虚拟机至上,不共享宿主机内核,因此可以运行其他版本的内核甚至是Linux内核。但需要注意的是只能运行相同或更老版本的内核,如Windows Server 2019宿主机除了可以运行Windows Server 2019容器外,还可以运行Windows Server 2016容器,而无法运行1903或者1909版本的容器。 (二) Linux容器 vs Windows容器 与Linux容器相比,Windows容器存在以下主要特点: 1、如上所述,Windows容器内核版本与宿主机内核版本存在强绑定,即使使用Hyper-V模式也只是增加了对运行更旧内核版本的容器的支持。而在Linux上,只要内核版本高于3.10,任何版本内核的容器都可以运行。 2、基础镜像较大。完整的Windows Server镜像servercore大小约为1.5G,最小化的基础镜像nanoserver约为100M,而对应的alpine Linux只有5M左右。
3、Hyper-V隔离理论上还能支持Linux容器。LCOW(Linux (编辑:南昌站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


