• 操作系统:Win 10 Entreprise 22H2 build 19045

  • 虚拟机管理程序:VMware® Workstation 17 Pro

是否可以在 Windows 客户端上安装 WSL,而无需安装 Hyper-v 功能?

我的问题是,我在实验室中使用 VMWare Workstation Pro。现在我想在我的计算机上使用 Docker 桌面来托管我的容器。

但不幸的是,docker deskop 抱怨我没有安装 Hyper-V,但这很正常,因为不可能在同一个主机上安装 2 个 hyervisor type 1。

您有什么想法可以让我干扰本地容器吗?也许没有 docker 桌面,但我需要一些光 🙂

1

  • VMWare 17 与 Hyper-V 一起运行应该没有问题。


    – 


最佳答案
2

WSL2 实际上是 Hyper-V 虚拟机,因此需要 Windows Hypervisor 存在。您无法让它在 VMware 上运行。

根据,Workstation Pro 15.5.5(或者更高版本,我猜?)支持在“主机 VBS 模式”下使用 Windows 虚拟机管理程序而不是其自己的虚拟机管理程序。

2

  • 1
    事实上,目前大多数虚拟机管理程序都支持 Hyper-V,包括 VMWare 和 Virtualbox


    – 

  • 不幸的是,虽然最近的 VMware Workstation 确实支持使用 Hyper-V 作为虚拟机管理程序,但性能会受到明显影响,尤其是对于需要图形的任何内容(包括浏览器引擎)。因此,您真的必须在这里做出选择:坚持使用 WSL1(不需要虚拟机管理程序),或使用 WSL2,启用 Windows 虚拟机管理程序平台并承受 VMware 的性能影响。


    – 


在没有 Hyper-V 的情况下,无法使用 Docker Desktop 在 Windows 上运行 Linux 容器。它需要运行 Linux VM 本身(IIRC 的默认设置),或者拥有可以使用的 WSL2 环境(这又需要 Hyper-V(技术上是“Windows Hypervisor”,但这只是 MS 选择用于界面的名称)。事实上,你也不能使用它在没有 Hyper-V 的 Windows 上运行本机Windows 容器,因为这需要“容器”功能,而这也依赖于 Hyper-V。

这给你留下了几个选择:

  1. 在 VMWare 中设置合适的 Linux VM 并在那里安装 Docker。这可能是最简单的选择,从学习的角度来看也可能是最好的选择。
  2. 在 VMWare 中设置启用嵌套虚拟化支持的 Windows VM,并在其中安装 Docker Desktop。这将带来糟糕的性能(Windows 虚拟化效果不佳,Hyper-V 更差),但这意味着您不必直接处理 Linux。
  3. 将计算机设置为双启动和 Linux 安装,并在其中安装 Docker。这将使容器获得最佳性能,但它们无法与虚拟机或 Windows 系统同时使用。