docker-desktop、docker-desktop-data 和我的 WSL 发行版 Ubuntu 之间有什么区别?

m19*_*19v 0 ubuntu windows-subsystem-for-linux docker-desktop

命令wsl --list --verbose在我的 Windows 计算机上返回以下列表:

$ wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  Ubuntu                 Running         2
  docker-desktop         Running         2
Run Code Online (Sandbox Code Playgroud)

我已经在我的机器上安装了 Docker Desktop。docker-desktopdocker-desktop-data我的 WSL 发行版有什么区别Ubuntu?不应Ubuntu选择作为我的 WSL 发行版?

PS 如果我从列表中选择另一个条目,wsl --setdefault <name-of-distro>我不会注意到重大变化。这让我更加困惑!

Not*_*1ds 5

不应该选择 Ubuntu 作为我的 wsl 吗?

是的,应该的。首先,我会推荐:

wsl --set-default Ubuntu
Run Code Online (Sandbox Code Playgroud)

您在问题中的示例缺少连字符,因此这可能就是它没有任何效果的原因。

这应该将默认发行版更改为 Ubuntu。如果没有它,该wsl命令(单独或带有许多参数)将失败,因为docker-desktop-data它不是设计用于引导的。有关更多详细信息,请参阅 WSL 问题#8727 。

当 Docker Desktop 在 Ubuntu 之前安装时,或者 Ubuntu 从未正确设置为默认值时,经常会出现此问题。

设置为默认后,再次确认wsl -l -v

然后简单的wsl应该启动Ubuntu了。

docker-desktopdocker-desktop-data我的 WSL 发行版有什么区别Ubuntu

  • Ubuntu这里是供日常使用的 WSL 发行版。它不一定是 Ubuntu,但这是 WSL 的默认设置。您应该在此处安装软件包并运行普通 shell。

  • docker-desktop是由包含 Docker 引擎的 Docker Desktop 提供和管理的发行版。启动时,Docker Desktop 将启动Ubuntudocker-desktop,将一些链接注入 Ubuntu,以便它能够docker正确使用命令。

    docker-desktop由 Docker 桌面应用程序管理。你不应该修改它。您所做的任何更改都可能会在下次 Docker Desktop 升级时丢失。

  • docker-desktop-data是一个不可启动的发行版,包含 Docker 卷、容器、镜像等。它也由 Docker Desktop 管理。