Docker Desktop はコンテナーを Windows または WSL2 で実行しますか?

Docker Desktop はコンテナーを Windows または WSL2 で実行しますか?

コンテクスト
Debian を実行する WSL2 をセットアップしました。いくつかの Docker Compose スクリプトを実行しました。Windows にインストールした Docker Desktop を除き、すべてが WSL2 に含まれています。

Windows では Docker Desktop なしでも WSL2 で Docker を実行できるとすでに読んだことがあります。しかし、Docker Desktop を使用すると内部で何が起こるのかはわかりません。特に、Debian インスタンスに Docker パッケージを (意識的に) インストールしたことがないので。

Windows の Docker Desktop では、実行中のコンテナーが表示されます。起動と IO は Debian インスタンスで実行されます。

質問
Docker エンジン/コンテナーは Windows または WSL2 内で実行されますか?

答え1

Dockerのドキュメントを見る Windows 上の Docker Desktop WSL 2 バックエンド:

Windows Subsystem for Linux (WSL) 2 は、Microsoft が構築した完全な Linux カーネルであり、仮想マシンを管理せずに Linux ディストリビューションを実行できます。Docker Desktop を WSL 2 で実行すると、ユーザーは Linux ワークスペースを活用し、Linux と Windows の両方のビルド スクリプトを管理する必要がなくなります。さらに、WSL 2 では、ファイル システムの共有と起動時間が改善されています。

コンテナーは、簡素化された仮想マシン内の WSL2 で実行されます。VM 自体は、Windows ホスト上で実行されている Hyper-V によって実行されます。

Docker Desktop はコンテナーを Windows または WSL2 で実行しますか?

したがって、質問に対する答えは実際には「両方」です。これは、Windows で実行されている WSL2 で実行されています。

関連情報