2017-01-09 11 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

を語ります。 したがって、私がechoコマンドを実行するためにubuntuベースイメージを使用していると指定した場合、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''コマンドは最新の安定版を使用していますか? – MrVoodoo

答えて

11

Docker for WindowsはLinuxコンテナを実行するのにLinux VMを使用します。しかし、VirtualBox(Docker Toolboxで使用されているもの)を使用する代わりに、Linux VMはWindows固有のハイパーバイザーであるHyper-Vを使用して実行されます。これは、Docker for Windowsの出荷台数が少なく、動く部品が少ないことを意味します。

Docker for Windowsをインストールしてdocker versionを実行すると、Docker Linuxデーモンが「Moby Linux」で実行されていることがわかります。

+0

I参照してください、ありがとう。ウェブサイト上のテキストはこれを明確にしていませんでした。 – MrVoodoo

+2

DockerConf 2017以降、LinuxサブシステムをホストするWindows 10の機能を利用することに関するいくつかの新しい発表がありました.Docker for WindowsのLinux VMをHyperVで実行する必要はありません –

関連する問題