为什么 Windows 上有多个 WSL 发行版?

为什么 Windows 上有多个 WSL 发行版?

我运行启用了 WSL 的 Windows 10。

运行命令wsl -l -v会产生以下输出:

  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

我很惊讶地看到有两个正在运行的 WSL 实例。这是为什么?为什么不是单个实例?还有为什么名字很奇怪?

答案1

我很惊讶地看到有两个正在运行的 WSL 实例。这是为什么?

正如评论中提到的,这些 WSL 发行版适用于Docker Desktop 内部使用,您可能已经安装了。

它们不适合最终用户使用。其用途:

  • docker-desktop:运行 PowerShell、CMD、Docker Desktop、其他 WSL 发行版以及系统上需要使用它的任何其他程序所使用的 Docker Engine 守护程序。

    它还包含适用于其他 WSL 发行版的最终用户工具,例如docker命令本身。这些命令通过符号链接docker-desktop到您的最终用户 WSL 发行版中。

  • docker-desktop-data是 Docker 存储所有容器、图像、卷等的地方。

为什么不是一个实例?

如上所述,当您安装新版本的 Docker Desktop 时,它将docker-desktop用最新版本的工具替换现有发行版。将您的数据保存docker-desktop-data工具进行更新而不会影响数据本身。

而且为什么这个名字很奇怪?

希望通过以上信息,您可以更清楚地理解命名的含义。


请注意,如果您确实想使用 WSL 本身,则需要安装供最终用户使用的发行版。不建议在docker-desktop发行版本身内运行,因为它会被新版本覆盖。

您可以从 Microsoft Store 安装发行版。一些流行的发行版:

  • Ubuntu 20.04 LTS:目前是默认的 WSL 发行版。推荐新用户使用,因为 Ubuntu 有大量文档和支持。
  • Debian
  • openSUSE Tumbleweed:“滚动发布”

请注意,安装发行版后,您可能需要将其设置为默认值,因为 Docker 是先安装的。

从 PowerShell:

wsl -l -v
# Identify the distribution name
wsl --set-default <distribution name>

相关内容