
コンテクスト
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 で実行されています。