Windows ホスト システムがありながら Linux コンテナーを実行できるのはなぜですか? Docker にはハイパーバイザーがなく、ホスト システムのカーネルを使用してリソースを管理します。つまり、Windows カーネルが Linux コンテナーのリソースを管理するということですか? Linux コンテナーは Linux カーネルを必要としないのに、どうやって実行できるのですか?
答え1
ドキュメントによると、Docker Desktop for Windows は Hyper-V ハイパーバイザーを使用します。
Docker Desktop for Windows を実行するには、Microsoft Hyper-V が必要です。Docker Desktop for Windows インストーラーは、必要に応じて Hyper-V を有効にし、マシンを再起動します。
マシンが Hyper-V をサポートしていない場合は、VirtualBox が使用されます。
注: システムが Docker Desktop for Windows を実行するための要件を満たしていない場合は、Hyper-V の代わりに Oracle Virtual Box を使用する Docker Toolbox をインストールできます。
どちらの場合もハイパーバイザーは使用済み。