在虚拟机或虚拟桌面基础架构(VDI)环境中运行 Docker Desktop for Windows

通常,我们建议在 Mac、Linux 或 Windows 上原生运行 Docker Desktop。然而,只要虚拟桌面环境配置得当,Windows 版 Docker Desktop 也可以在虚拟桌面中运行。

要在虚拟桌面环境中运行 Docker Desktop,必须在提供虚拟桌面的虚拟机上启用嵌套虚拟化功能。这是因为 Docker Desktop 底层使用了一个 Linux 虚拟机,在其中运行 Docker Engine 和容器。

虚拟桌面支持

注意

支持在虚拟桌面上运行 Docker Desktop,该功能仅面向 Docker Business 客户开放,且仅限于 VMware ESXi 或 Azure 虚拟机环境。

Docker 提供的支持包括在正确配置嵌套虚拟化后,于虚拟机(VM)内部安装和运行 Docker Desktop。我们仅在 VMware ESXi 和 Azure 这两种虚拟机监控程序(hypervisor)上成功进行了测试,其他虚拟机均不提供支持。有关 Docker Desktop 支持的更多信息,请参阅 获取支持

对于超出 Docker 控制范围的问题及间歇性故障,您应联系您的虚拟化平台供应商。各虚拟化平台供应商提供的支持级别各不相同。例如,微软支持在本地及 Azure 云环境中运行嵌套 Hyper-V,但有一定版本限制;而 VMware ESXi 则可能不提供类似支持。

Docker 不支持在虚拟机(VM)或虚拟桌面基础设施(VDI)环境中,于同一台机器上运行多个 Docker Desktop 实例。

启用嵌套虚拟化

在虚拟机上安装 Docker Desktop 之前,您必须启用嵌套虚拟化功能。

在 VMware ESXi 上启用嵌套虚拟化

在 vSphere 虚拟机中嵌套运行其他虚拟机监控程序(如 Hyper-V) 不受支持。然而,在 VMware ESXi 虚拟机中运行 Hyper-V 虚拟机在技术上是可行的;根据 ESXi 版本的不同,ESXi 可能已将硬件辅助虚拟化作为支持的功能。在内部测试中,我们使用了一台配备 1 个 CPU(4 核)和 12 GB 内存的虚拟机。

有关如何向客户机操作系统暴露硬件辅助虚拟化的步骤, 请参阅 VMware 文档

在 Azure 虚拟机上启用嵌套虚拟化

Microsoft 支持在 Azure 虚拟机内部运行 Hyper-V 的嵌套虚拟化功能。

对于 Azure 虚拟机, 请确认所选虚拟机规格支持嵌套虚拟化。Microsoft 提供了 一份关于 Azure 虚拟机规格的实用列表,并特别标注了当前支持嵌套虚拟化的规格。在内部测试中,我们使用了 D4s_v5 规格的虚拟机。为获得 Docker Desktop 的最佳性能,我们推荐使用该规格或更高规格。