一般に、Docker では Docker Desktop を Mac、Linux、Windows のいずれかでネイティブに実行することを推奨しています。しかし、Docker Desktop for Windows は、仮想デスクトップが適切に設定されていれば、仮想デスクトップ内で実行することができます。
仮想デスクトップ環境で Docker Desktop を実行するには、仮想デスクトップを提供する仮想マシンでネストされた仮想化が有効である必要があります。これは、Docker Desktop が Docker Engine とコンテナーを実行する Linux VM を使用しているためです。
注意
Docker Business ユーザーは、VMware ESXi または Azure VM 上の仮想デスクトップで Docker Desktop の実行がサポートされています。
Docker は、ネストされた仮想化が適切に設定されていれば、VM 内に Docker Desktop をインストールして実行することをサポートしています。Docker がテストに成功したハイパーバイザーは VMware ESXi と Azure のみで、その他の VM はサポートしていません。Docker Desktop のサポートの詳細は、「サポート」を参照してください。
Docker の制御の範囲外にある問題や断続的な障害のトラブルシューティングについては、ハイパーバイザーのベンダーにお問い合わせください。ベンダーによって、提供されるサポートのレベルは異なります。たとえば、Microsoft はネストされた Hyper-V の実行をオンプレミスと Azure の両方でサポートしています。VMWare ESXi ではそうではない可能性があります。
Docker Desktop を仮想マシンにインストールする前に、ネストされた仮想化を有効にする必要があります。
vSphere VM 内の Hyper-V など、ほかのハイパーバイザーのネストされた仮想化はサポートされていません。しかし、VMware ESXi VM 内で Hyper-V VM を実行することは技術的に可能であり、バージョンによっては、ESXi はハードウェア アシストによる仮想化をサポートしています。内部テストでは、1 CPU、4 コア、12GB メモリの VM を使用しました。
ハードウェア アシストによる仮想化をゲスト OS で利用できるようにする方法は、VMware のドキュメントを参照してください。
Microsoft は、Azure VM 内で Hyper-V を実行するため、ネストされた仮想化をサポートしています。
Azure 仮想マシンでは、選択した VM サイズがネストされた仮想化をサポートしていることを確認してください。Microsoft は、Azure VM サイズに関する有用なリストを提供しており、現在ネストされた仮想化をサポートしているサイズを示しています。社内テストでは、D4s_v5 マシンを使用しました。Docker Desktop が最適に動作するように、この仕様以上を推奨します。