我想指定将使用哪些 WSL 发行版在 Windows 上运行 docker,或者至少我希望能够指定这些发行版所在的位置。
我有磁盘 c 和 d,Windows 安装在 c 上,这是一个空间较小的 SSD。我想让 docker 引擎在存储在 d 上的 WSL 发行版上运行。我可以通过以下操作在 d 中成功创建 WSL Ubuntu 20.04 发行版指示。
但是,当我在 Windows 上安装 docker 时,它会创建另外 2 个 WSL 发行版:
wsl --list
Ubuntu-20.04 (Default)
docker-desktop-data
docker-desktop
我无法控制这些发行版的创建方式。有没有办法指定它们的位置,或者更好的办法是,让 docker 使用我的 Ubuntu-20.04 发行版作为其后端。
答案1
让 docker 使用我的 Ubuntu-20.04 发行版作为其后端
- 当 Docker Desktop 重新启动时,转到设置> 资源> WSL 集成。
WSL 集成将在您的默认 WSL 发行版上启用。
要更改默认的 WSL 发行版,请运行
wsl --set-default <distro name>
例如,要将 Ubuntu 设置为默认 WSL 发行版,请运行
wsl --set-default ubuntu
。
- 单击“应用并重新启动”。
来源Docker Desktop WSL 2 后端 | Docker 文档
因此尝试运行:
wsl --set-default Ubuntu-20.04
如上所述,步骤 8。
答案2
我设法通过使用我找到的教程来移动发行版这里。当 docker for windows 使用 WSL2 时,它会创建 2 个发行版 (docker-desktop-data、docker-desktop)。可以使用以下命令移动两个发行版:
wsl --export docker-desktop-data data.tar
wsl --unregister docker-desktop-data
mkdir docker
wsl --import docker-desktop-data docker data.tar
wsl --export docker-desktop docker.tar
wsl --unregister docker-desktop
mkdir docker-base
wsl --import docker-desktop docker-base docker.tar