2017-01-09 138 views
9

在Docker for Windows的舊版本中,我記得它明確表示它使用一個Linux VM作爲內核。Docker for Windows如何運行Linux容器?

但由於新的穩定版本(在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內核如何發揮作用?

還是我完全誤解了一些東西?

+0

此Docker for Windows僅運行Windows容器 – user2915097

+0

測試版可以在Windows和Linux容器之間切換。它尚未在穩定版本中提供。 https://docs.docker.com/docker-for-windows/#/switch-between-windows-and-linux-containers-beta-feature –

+1

在這種情況下,爲什麼我能夠運行'docker run ubuntu/bin/echo'Hello world'命令與最新的stable? – MrVoodoo

回答

11

Docker for Windows仍然使用Linux VM來運行Linux容器。但不是使用Virtual Box(Docker Toolbox使用的是Virtual Box),而是使用Hyper-V(Windows本機管理程序)運行Linux VM。這意味着Docker for Windows的組件數量少,移動部件少。

如果您安裝Docker for Windows並運行docker version,您會看到Docker Linux守護進程正在「Moby Linux」上運行。

+0

I看,謝謝。網站上的文字沒有說明這一點。 – MrVoodoo

+2

從DockerConf 2017開始,有一些關於利用Windows 10的功能來託管Linux子系統的新消息,因此您可能不需要在HyperV中運行的完整的Docker for Windows'Linux VM –

相關問題