在 VM 或 VDI 环境中运行适用于 Windows 的 Docker Desktop
Docker 建议在 Mac、Linux 或 Windows 上原生运行 Docker Desktop。但是,只要虚拟桌面配置正确,适用于 Windows 的 Docker Desktop 也可以在虚拟桌面中运行。
要在虚拟桌面环境中运行 Docker Desktop,必须在提供虚拟桌面的虚拟机上启用嵌套虚拟化。这是因为 Docker Desktop 在底层使用了一个 Linux VM 来运行 Docker Engine 和容器。
虚拟桌面支持
注意
在虚拟桌面中运行 Docker Desktop 的支持仅适用于 Docker Business 客户,并且仅限于 VMware ESXi 或 Azure VM。
Docker 支持在 VM 中安装和运行 Docker Desktop,前提是已正确启用嵌套虚拟化。唯一经过成功测试的虚拟机管理程序是 VMware ESXi 和 Azure,不支持其他 VM。有关 Docker Desktop 支持的更多信息,请参阅 获取支持。
对于超出 Docker 控制范围的问题和间歇性故障,你应该联系你的虚拟机管理程序供应商。每个虚拟机管理程序供应商提供的支持级别不同。例如,Microsoft 支持在本地和 Azure 上运行嵌套的 Hyper-V,但有一些版本限制。对于 VMware ESXi,情况可能并非如此。
Docker 不支持在同一台机器的 VM 或 VDI 环境中运行多个 Docker Desktop 实例。
提示
如果你在 Citrix VDI 中运行 Docker Desktop,请注意 Citrix 可以与各种底层虚拟机管理程序一起使用,例如 VMware、Hyper-V、Citrix Hypervisor/XenServer。Docker Desktop 需要嵌套虚拟化,而 Citrix Hypervisor/XenServer 不支持嵌套虚拟化。
请咨询你的 Citrix 管理员或 VDI 基础设施团队,以确认正在使用的虚拟机管理程序类型以及是否已启用嵌套虚拟化。
开启嵌套虚拟化
在虚拟机上安装 Docker Desktop 之前,必须开启嵌套虚拟化。
在 VMware ESXi 上开启嵌套虚拟化
在 vSphere VM 中嵌套虚拟化其他虚拟机管理程序(如 Hyper-V)是不受支持的场景。但是,在 VMware ESXi VM 中运行 Hyper-V VM 在技术上是可行的,并且根据版本不同,ESXi 支持硬件辅助虚拟化。内部测试使用了配置为 1 个 CPU、4 个核心和 12GB 内存的 VM。
有关如何向客户 OS 暴露硬件辅助虚拟化的步骤,请参阅 VMware 的文档。
在 Azure 虚拟机上开启嵌套虚拟化
Microsoft 支持在 Azure VM 中运行嵌套的 Hyper-V。
对于 Azure 虚拟机,请检查所选 VM 大小是否支持嵌套虚拟化。Microsoft 提供了一个关于 Azure VM 大小 的有用列表,并重点标注了当前支持嵌套虚拟化的大小。内部测试使用了 D4s_v5 机器。为了获得最佳的 Docker Desktop 性能,请使用此规格或更高规格的机器。
Docker Desktop 在 Nutanix 驱动的 VDI 上的支持
只要底层 Windows 环境支持 WSL 2 或 Windows 容器模式,就可以在 Nutanix 驱动的 VDI 环境中使用 Docker Desktop。由于 Nutanix 官方支持 WSL 2,因此只要 WSL 2 在 VDI 环境中正常运行,Docker Desktop 也应能正常工作。
如果使用 Windows 容器模式,请确认 Nutanix 环境支持 Hyper-V 或其他 Windows 容器后端。
支持的配置
Docker Desktop 遵循先前概述的 VDI 支持定义
持久性 VDI 环境(支持):你在不同会话中获得相同的虚拟桌面实例,已安装的软件和配置得以保留。
非持久性 VDI 环境(不支持):Docker Desktop 不支持 OS 在会话之间重置的环境,这需要每次重新安装或重新配置。
支持范围和职责
对于与 WSL 2 相关的问题,请联系 Nutanix 支持。对于 Docker Desktop 特定问题,请联系 Docker 支持。