Docker for Windows如何运行Linux容器?

MrV*_*doo 30 windows kernel docker

在旧版本的Docker for Windows中,我记得它明确表示它使用Linux VM作为内核.

但是,自从新的稳定版本(我想在2016年7月发布)以来,它说

Docker for Windows is a native Windows application with a native user interface and auto-update capability, deeply integrated with Windows native virtualization, Hyper-V, networking and file system

如果我理解正确,则指定的基本映像用于用户空间并使用主机的内核.因此,如果我指定我使用ubuntu基本映像来运行echo命令,那么Windows内核如何发挥作用?

还是我完全误解了什么?

fri*_*ism 33

Docker for Windows仍然使用Linux VM来运行Linux容器.但是,不使用Virtual Box(与Docker Toolbox一起使用),而是使用Hyper-V(一种Windows本机虚拟机管理程序)运行Linux VM.这意味着Docker for Windows可以减少组件数量并减少移动部件.

如果您安装Docker for Windows并运行,docker version您将看到Docker Linux守护程序在"Moby Linux"上运行.

  • 截至2017年的DockerConf,有一些关于利用Windows 10的功能来托管Linux子系统的新公告,因此您可能不需要在HyperV中运行的完整Docker for Windows的Linux VM (2认同)