我运行启用了 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>