现在使用基于WSL2的docker软件没有给出调整镜像存放位置的功能,需要我们手动的来调整。这里记录一下操作的步骤。

打开cmd
在系统中搜索cmd并打开

查询docker状态,关闭docker
使用以下的命令来查询当前docker的状态

wsl -l -v --all

执行后可以看到docker开头的有两条内容,状态是running

这需要我们先退出docker

退出后,可以再查询一次状态,可以看到状态变成了stopped这样就正确了

导出WSL系统
使用以下的命令将上面的两个系统导出来

wsl --export docker-desktop D:\docker\docker-desktop.tar

wsl --export docker-desktop-data D:\docker\docker-desktop-data.tar

D:\ 是要导出文件的存放位置,这个可以根据自己的实际情况改

执行完成后,在我的z盘中就能看到这两个文件

注销现有的WSL系统
上面导出完成后,就需要注销掉之前的,使用以下的命令注销

wsl --unregister docker-desktop

wsl --unregister docker-desktop-data

这两个命令不需要修改,直接执行就好了

执行时会有正在注销的提示

可以使用上面查询状态的命令查看一下是否注销了,没有那两条docker开头的内容就表示注销掉了

没有docker开头的内容了
重新创建WSL系统
上面注销掉之后,就可以在我们指定的位置重新创建了,这个新位置就是我们想要真正存放镜像的位置了

我这里打算将这个位置放在D盘的docker文件夹,我D盘空间还是很大的。可以先提前创建好文件夹

命令的话就需要这样写

wsl --import docker-desktop D:\docker\docker-desktop z:\docker-desktop.tar --version 2

wsl --import docker-desktop-data D:\docker\docker-desktop-data z:\docker-desktop-data.tar --version 2

需要注意的是这两个需要放在不同的文件夹里,不然会执行不成功

执行完成后,可以看到D盘的文件夹中个多了一个磁盘文件

到这docker的存放目录就修改完成了,可以启动我们的docker了

怎么检查改完后是否生效
可以观察磁盘文件的大小是否变大了