Windows Docker容器与虚拟机

Windows Docker容器与虚拟机,windows,docker,kernel,containers,Windows,Docker,Kernel,Containers,我正在windows 10上使用docker桌面。我下载了一个WindowsServerCore1909的映像 然后从同一个图像创建两个容器 Docker运行-it mcr.microsoft.com/windows/servercore:1909 powershell.exe 当我在两个操作系统上运行sysinfo时,它为两个操作系统提供了不同的主机名 我如何看到内核是共享的?因为我看到这是两个不同的虚拟机,与核心操作系统的hyper-v虚拟机没有什么不同 我认为docker容器正在共享一个内

我正在windows 10上使用docker桌面。我下载了一个WindowsServerCore1909的映像

然后从同一个图像创建两个容器

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

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

我如何看到内核是共享的?因为我看到这是两个不同的虚拟机,与核心操作系统的hyper-v虚拟机没有什么不同

我认为docker容器正在共享一个内核,但我在下面看不到相同的操作系统


有什么想法吗?

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

真正的容器概念实际上是共享内核,只有在windows服务器主机上才可能实现,并且使用的容器版本也是相同的