在 VM 或 VDI 环境中运行 Windows 版 Docker Desktop

Docker 建议在 Mac、Linux 或 Windows 上本地运行 Docker Desktop。但是,Windows 版 Docker Desktop 可以在正确配置的虚拟桌面内运行。

要在虚拟桌面环境中运行 Docker Desktop,您有两种选择,具体取决于是否支持嵌套虚拟化

  • 如果您的环境支持嵌套虚拟化,您可以运行带有默认本地 Linux VM 的 Docker Desktop。
  • 如果不支持嵌套虚拟化,Docker 建议使用 Docker Offload

使用 Docker Offload

Docker Offload 允许您将容器工作负载卸载到高性能、完全托管的云环境,从而实现无缝的混合体验。

Docker Offload 在不支持嵌套虚拟化的虚拟桌面环境中很有用。在这些环境中,Docker Desktop 默认使用 Docker Offload,以确保您无需依赖本地虚拟化即可构建和运行容器。

Docker Offload 将 Docker Desktop 客户端与 Docker Engine 解耦,允许 Docker CLI 和 Docker Desktop Dashboard 与基于云的资源进行交互,就像它们是本地资源一样。当您运行容器时,Docker 会通过 SSH 隧道提供一个安全、隔离且短暂的云环境,并连接到 Docker Desktop。尽管是远程运行,但绑定挂载和端口转发等功能仍能无缝工作,提供类似本地的体验。要使用 Docker Offload

要开始使用 Docker Offload,请参阅 Docker Offload 快速入门

使用嵌套虚拟化时的虚拟桌面支持

注意

在虚拟桌面上运行 Docker Desktop 的支持仅适用于 Docker Business 客户,且仅限于 VMware ESXi 或 Azure VM。

Docker 支持在 VM 中安装和运行 Docker Desktop,前提是嵌套虚拟化已正确启用。唯一成功测试的虚拟机管理程序是 VMware ESXi 和 Azure,不支持其他虚拟机。有关 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 Cloud 的虚拟机上安装 Docker Desktop 之前,您必须开启嵌套虚拟化。

在 VMware ESXi 上开启嵌套虚拟化

在 vSphere VM 中嵌套其他虚拟机管理程序(如 Hyper-V)不是受支持的场景。但是,在 VMware ESXi VM 中运行 Hyper-V VM 在技术上是可行的,并且根据版本,ESXi 包含硬件辅助虚拟化作为支持功能。内部测试使用了一个具有 4 个核心和 12GB 内存的 1 个 CPU 的 VM。

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

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

Microsoft 支持在 Azure VM 中运行 Hyper-V 的嵌套虚拟化。

对于 Azure 虚拟机,请检查所选的 VM 大小是否支持嵌套虚拟化。Microsoft 提供一份关于 Azure VM 大小的有用列表,并突出显示了目前支持嵌套虚拟化的大小。内部测试使用了 D4s_v5 机器。使用此规格或更高规格可获得 Docker Desktop 的最佳性能。

Nutanix 支持的 VDI 上的 Docker Desktop 支持

Docker Desktop 可以在 Nutanix 支持的 VDI 环境中使用,前提是底层 Windows 环境支持 WSL 2 或 Windows 容器模式。由于 Nutanix 正式支持 WSL 2,因此只要 WSL 2 在 VDI 环境中正常运行,Docker Desktop 就应该按预期运行。

如果使用 Windows 容器模式,请确认 Nutanix 环境支持 Hyper-V 或其他 Windows 容器后端。

支持的配置

Docker Desktop 遵循前面概述的 VDI 支持定义

  • 持久性 VDI 环境(支持):您在会话之间收到相同的虚拟桌面实例,保留已安装的软件和配置。

  • 非持久性 VDI 环境(不支持):Docker Desktop 不支持在会话之间操作系统重置的环境,每次都需要重新安装或重新配置。

支持范围和责任

对于 WSL 2 相关问题,请联系 Nutanix 支持。对于 Docker Desktop 特定问题,请联系 Docker 支持。

额外资源

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.