在 VM 或 VDI 环境中运行适用于 Windows 的 Docker Desktop
通常,我们建议在 Mac、Linux 或 Windows 上原生运行 Docker Desktop。但是,如果虚拟桌面配置正确,适用于 Windows 的 Docker Desktop 可以在虚拟桌面中运行。
要在虚拟桌面环境中运行 Docker Desktop,必须在提供虚拟桌面的虚拟机上启用嵌套虚拟化。这是因为,在后台,Docker Desktop 使用的是运行 Docker Engine 和容器的 Linux VM。
虚拟桌面支持
注意
对在虚拟桌面上运行 Docker Desktop 的支持仅适用于 VMware ESXi 或 Azure VM 上的 Docker Business 客户。
正确设置嵌套虚拟化后,Docker 提供的支持扩展到在 VM 中安装和运行 Docker Desktop。我们成功测试过的唯一虚拟机监控程序是 VMware ESXi 和 Azure,并且不支持其他虚拟机。有关 Docker Desktop 支持的更多信息,请参阅获取支持。
要排查 Docker 无法控制的问题和间歇性故障,您应该联系您的虚拟机管理程序供应商。每个虚拟机管理程序供应商都提供不同级别的支持。例如,Microsoft 支持在本地和 Azure 上运行嵌套的 Hyper-V,但有一些版本限制。VMWare ESXi 可能并非如此。
Docker 不支持在 VM 或 VDI 环境中的同一台计算机上运行多个 Docker Desktop 实例。
启用嵌套虚拟化
在虚拟机上安装 Docker Desktop 之前,必须启用嵌套虚拟化。
在 VMware ESXi 上启用嵌套虚拟化
不支持在 vSphere VM 中嵌套虚拟化其他虚拟机管理程序(如 Hyper-V)。但是,在 VMware ESXi VM 中运行 Hyper-V VM 在技术上是可行的,并且根据版本,ESXi 将硬件辅助虚拟化作为受支持的功能包含在内。对于内部测试,我们使用了一个具有 1 个 CPU、4 个内核和 12GB 内存的 VM。
有关如何向来宾操作系统公开硬件辅助虚拟化的步骤,请参阅 VMware 的文档。
在 Azure 虚拟机上启用嵌套虚拟化
Microsoft 支持嵌套虚拟化在 Azure VM 中运行 Hyper-V。
对于 Azure 虚拟机,请检查所选的 VM 大小是否支持嵌套虚拟化。Microsoft 提供了有关 Azure VM 大小的有用列表,并突出显示了当前支持嵌套虚拟化的大小。对于内部测试,我们使用了 D4s_v5 机器。我们建议使用此规范或更高版本,以实现 Docker Desktop 的最佳性能。