Docker容器与虚拟机

时间:2020-04-06 14:59:42

标签: windows docker kernel containers

我在Windows 10上使用docker桌面。我下载了Windows服务器核心1909的映像。

然后从同一张图片创建了两个容器。

Docker运行-it mcr.microsoft.com/windows/servercore:1909 powershell.exe

当我在两个操作系统上同时运行sysinfo时,它为我两个操作系统赋予了不同的主机名。

我如何看到内核是共享的?因为我看到这是两个不同的VM,与核心OS的hyper-v VM没什么不同。

我虽然docker容器共享一个内核,但是在下面看不到相同的操作系统?

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

好的,我也得到了答案。 Windows中的容器具有hyper-v隔离级别的概念。因此,如果主机的版本与容器的版本不同,您将获得所谓的hyper-v隔离,它本质上不是进程隔离,而是类似于传统事物的虚拟机。没有共享内核。

实际上是共享内核的真正容器概念仅在Windows Server主机上以及使用的容器版本相同时才可能。

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-1909%2Cwindows-10-1809