我刚刚升级到Windows 10 Home 2020年5月,激活了WSL2,并安装了Docker Desktop。

WSL2必须安装在我的系统盘上,这是一个小的SSD。我不想用docker图像填充它。如何更改docker映像路径?我想在我的大Windows文件系统中使用一个路径。

图像位置有些混乱。我认为它在/mnt/wsl/docker-desktop-data/。

如何在WSL2中更改docker映像的目录?我是否可以更改docker配置以选择/mnt/d内的路径,或从/mnt/d挂载docker数据dirs上的路径?


当前回答

编辑:重新注册docker-desktop会将默认的docker-data设置为C盘,所以我们应该只将取消注册docker-data作为接受的答案。

你可以这样做

 wsl --unregister docker-desktop-data

 wsl --import docker-desktop-data D:\wsl\docker-desktop-data "C:\Program Files\Docker\Docker\resources\wsl\wsl-data.tar" --version=2

tar文件是用于安装的文件,在它之前是您的新目标。

这总是工作,而移动-wsl或lxrunoffline不为我工作在快速环。有时你必须先卸载/安装docker

其他回答

一个很好的工具:

ddolone /LxRunOffline:一个功能齐全的实用程序,用于管理Windows Linux子系统(WSL)

https://github.com/DDoSolitary/LxRunOffline

LxRunOffline.exe move    Move a distribution to a new directory.
Options:
  -n arg                Name of the distribution
  -d arg                The directory to move the distribution to.

例如:

退出docker桌面,然后:

wsl --shutdown
LxRunOffline.exe move -n docker-desktop-data -d D:\vm\dockerdesktop\wsl\data

我从github上的pxlrbt找到了这个工具。它使用标准的wsl导入/导出,非常安全。刚刚把我的docker-desktop-data发行版都移动到另一个驱动器,它工作得很好。

编辑:重新注册docker-desktop会将默认的docker-data设置为C盘,所以我们应该只将取消注册docker-data作为接受的答案。

你可以这样做

 wsl --unregister docker-desktop-data

 wsl --import docker-desktop-data D:\wsl\docker-desktop-data "C:\Program Files\Docker\Docker\resources\wsl\wsl-data.tar" --version=2

tar文件是用于安装的文件,在它之前是您的新目标。

这总是工作,而移动-wsl或lxrunoffline不为我工作在快速环。有时你必须先卸载/安装docker

最好的选择是更新注册表。遵循以下步骤

Shutdown the wsl. Use the command wsl --shutdown. Move the entire C:\Users\%USERPROFILE%\AppData\Local\Docker directory to different drive for example D:\Docker. Goto Registry editor location Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss. Find the registry entry with the BasePath set to C:\Users\%USERPROFILE%\AppData\Local\Docker\wsl\data. Update this D:\Docker\wsl\data. Find another registry entry with the BasePath set to C:\Users\%USERPROFILE%\AppData\Local\Docker\wsl\distro. Update this D:\Docker\wsl\distro. Restart wsl using: wsl -d Ubuntu.

停止Docker桌面 将Docker文件夹从C:\Users\xxx\AppData\Local\Docker迁移到新路径 确保C:\Users\xxx\AppData\Local\Docker不在那里 以管理员模式打开cmd 运行以下命令,将在cmd窗口中创建一个具有适当的from和to路径的符号链接

    mklink /j "C:\Users\xxx\AppData\Local\Docker" "path to where you relocated your docker folder"

重启Docker Desktop