我刚刚升级到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上的路径?


当前回答

一个很好的工具:

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

其他回答

在Windows 10 home中,docker desktop在“C:\Users\xxx\AppData\Local\ docker”目录下创建了虚拟机,该虚拟机包含下载的docker映像。如果你想改变虚拟机的位置从C:到一个不同的目录,你可以通过在windows上创建一个连接(在安装docker桌面之前),使用如下命令:

mklink /j “C:\Users\xxx\AppData\Local\Docker” “D:\Users\xxx\AppData\Local\Docker”

注意,在执行命令之前,目标目录结构应该存在,而如果C:\Users\xxx\AppData\Local\Docker目录已经存在,则应该删除该目录,否则命令可能会失败。现在在windows 10 home上安装docker desktop,瞧,你可以在“D:\Users\xxx\AppData\Local\ docker”目录中看到一些东西,即docker虚拟机硬盘镜像文件,该文件将包含所有下载的docker镜像。

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

使用小SSD也可以重新定位WSL交换文件的位置。

https://learn.microsoft.com/en-us/windows/wsl/wsl-config

对我来说,docker不会从junction开始。

然后我只使用目录符号链接:

Docker stopped

Folder "wsl" moved to other location on disk "B"

RUben@AD-RUBEN C:\Users\RUben\AppData\Local\Docker
$ mklink /D wsl "B:\dev\wsl"
**symbolic link** created for wsl <<===>> B:\dev\wsl

容器和映像已准备就绪,可以使用:

一个很好的工具:

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