Hyper-V 上的 Docker 与 WSL 2

Vin*_*Sai 26 hyper-v windows-10 wsl2

我正在使用 Docker Toolbox,最近我了解了使用 WSL 2 的 Docker 安装。

Hyper-V 和 WSL 2 之间有什么区别?哪个性能更好?

Zac*_*Zac 21

Hyper-V 和 WSL2(WSL2 在虚拟机平台上运行,Hyper-V 架构的名称单独打包并可供所有 SKU 使用)可能会与其他 VM 解决方案产生负面交互,例如VirtualBox v5 及以下版本将无法与 Hyper 共存。五、从 VirtualBox v6+ 开始,支持在配置中运行 VirtualBox,以将其自身的虚拟化替换为 Hyper-V 半虚拟化。最近有报道称“性能会更差”,如同时使用 VirtualBox 和 Hyper-V中所述。如果您对此特别感兴趣,我鼓励您研究这方面取得的进展。

当人们判断 WSL2“更快”时,他们通常是在谈论设置时间更容易,因此更快。实际性能取决于为 WSL2 的 Hyper-V 实例进行了多少预设和自定义,但更重要的是,它取决于您的使用案例。

  • 只会将 WSL2 用于 Docker 吗?
  • 如果不是,您计划如何在 Docker 之外使用 WSL2?
  • 您当前或计划使用任何其他虚拟机吗?
  • 您是否需要大量直接 Win 10 <-> WSL2 文件访问(当两者之间发生大量文件活动时,WSL2 的文件系统性能很差)

在最基本的答案中:

如果您只使用 docker:
WSL2

如果您需要 Linux、其他虚拟机或想要访问 Docker 的“高级”选项卡以进行资源分配:
Hyper-V

最后注意:虽然Windows 10 家庭版
正式不支持 Hyper-V ,并且在已发布的材料中也有这样的说明,但有一种建议的方法来启用它,可以在MicrosoftDocs 虚拟化文档问题发布中找到该方法。虽然我无法评论它的效果如何或是否有效,但如果您想尝试,可以使用指南。


Sys*_*min 9

请阅读:https : //www.docker.com/blog/docker-hearts-wsl-2/

我们将用 WSL 2 集成包替换当前使用的 Hyper-V VM。该软件包将提供与当前 Docker 桌面 VM 相同的功能:Kubernetes 一键设置、自动更新、透明 HTTP 代理配置、从 Windows 访问守护程序、Windows 文件的透明绑定挂载等。

WSL 2 的 Docker 桌面技术预览版将于 7 月提供下载。它将与当前版本的 Docker Desktop 并行运行,因此您可以继续安全地处理现有项目。如果您运行的是最新的 Windows Insider 版本,您将能够亲身体验这一点。在接下来的几个月中,我们将添加更多功能,直到在 Docker 桌面中为运行兼容版本 Windows 的每个人使用 WSL 2 架构。

此外,我建议观看此视频:https : //www.youtube.com/watch?v=lwhMThePdIo

你会在这里找到很好的比较:https : //blog.logrocket.com/working-with-node-js-on-hyper-v-and-wsl2/

引用:

Hyper-V 与 WSL2 的比较

在 Hyper-V 虚拟机中运行 Ubuntu Linux 与在 WSL2 中运行操作系统的最大区别在于能够在 Hyper-V 中访问 Ubuntu 用户界面。

用户界面允许您安装和使用的不仅仅是命令行工具。

根据您系统的硬件性能,您可能会发现 WSL2 是更快的选择。为了加快在 Hyper-V 上运行 Ubuntu Linux 的过程,您可以设置对虚拟机的 SSH 访问。

这加快了命令行访问。但是,WSL2 可能仍然占上风,因为它不需要 SSH 来启用访问。

  • 不确定为什么 WSL2 比 Hyper-V 更好。根据此常见问题解答 https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq,最新版本的 WSL 使用 Hyper-V 架构来实现其虚拟化 (7认同)

Was*_*sif 2

Windows 子系统 for linux 2 是一个用于运行 Linux 的虚拟机。它初始化用于启动 Linux 内核的最小 hyper-v 工具包。hyper-v 是虚拟化软件,可用于虚拟化其他操作系统以及 Linux 发行版。Windows 计算机和 WSL2 环境之间的文件共享、命令行和网络在启动时是即时的。您无需管理此环境,因为它会与 Windows 一起更新。如果您不想虚拟化Linux以外的其他操作系统,那么请卸载hyper-v并选择wsl2,因为hyper-v不允许其他应用程序使用虚拟化硬件环境。

  • 我发现事实恰恰相反 - 如果您安装了 WSL 2,则无法使用 virtualbox 等托管 VM 平台,但如果您安装了完整的 Hyper-V(可以与 WSL 2 一起使用),您仍然可以使用它们因为 virtualbox 可以使用 Hyper-V 作为处理器虚拟化接口的包装器。 (3认同)
  • 由于 WSL 2 需要 Hyper-V 虚拟机管理程序,因此它仍然会阻止其他虚拟化应用程序。 (2认同)