Hyper-V 上的 Docker 与 WSL 2

Hyper-V 上的 Docker 与 WSL 2

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

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

答案1

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

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

Docker Desktop for WSL 2 的技术预览版将于 7 月提供下载。它将与当前版本的 Docker Desktop 并行运行,因此您可以继续安全地处理现有项目。如果您正在运行最新的 Windows Insider 版本,您将能够亲身体验这一点。在接下来的几个月里,我们将添加更多功能,直到所有运行兼容 Windows 版本的人都可以在 Docker Desktop 中使用 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 即可启用访问。

答案2

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

当人们认为 WSL2 “更快”时,他们通常指的是设置时间更简单,因此更快。实际性能取决于为 WSL2 的 Hyper-V 实例进行了多少预设和自定义,但更重要的是,它取决于您的用例。

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

最基本的答案是:

如果你仅使用docker:
WSL2

如果您需要 Linux、额外的 VM 或想要访问 Docker 的高级选项卡进行资源分配:
Hyper-V

最后说明:
尽管 Hyper-V 正式不支持 Windows 10 家庭版并如此陈述在出版的所有材料中,有一个建议的方法来启用它,可以在这里找到MicrosoftDocs 虚拟化文档问题发布。虽然我无法评论它的效果如何或是否有效,但如果您想尝试,可以参考一些指南。

答案3

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

答案4

Hyper-V 和 WSL 2 之间有什么区别

在 MS Windows 10 上,一个区别是系统要求:WSL 2 后端需要较新版本的 Windows 10。具体来说:

  • Hyper-V后端需要 Windows 10 64 位 Pro21H2(内部版本 19045) 或更高版本,或者 Enterprise 或 Education 21H2 (内部版本 19045)或更高
  • WSL 2后端需要 Windows 10 64 位:家庭版或专业版22H2(内部版本 19045) 或更高版本,或者 Enterprise 或 Education 22H2 (内部版本 19045)或更高

相关内容