前言
最近C盘不够了,需要将 Docker Desktop迁移到其他盘:
查看wsl版本
wsl -l -v
安装docker后,docker会自动创建2个发行版:
docker-desktop
docker-desktop-data
WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中。
WSL发行版迁移
网上查了一下wsl发行版迁移,几乎都是说使用LxRunOffline.exe
经过我试验,LxRunOffline.exe确实可以迁移自己安装的发行版,却迁移不了docker自动创建的2个发行版!
最后只能去github提了个issues:https://github.com/docker/for-win/issues/7348
下面是操作方法:
首先关闭docker
关闭所有发行版:
wsl --shutdown
将docker-desktop-data导出到D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar(注意,原有的docker images不会一起导出)
wsl --export docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar
注销docker-desktop-data:
wsl --unregister docker-desktop-data
重新导入docker-desktop-data到要存放的文件夹:D:\SoftwareData\wsl\docker-desktop-data\:
wsl --import docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\ D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar --version 2
只需要迁移docker-desktop-data一个发行版就行,另外一个不用管,它占用空间很小。
完成以上操作后,原来的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx就迁移到新目录了:
重启docker,这下不用担心C盘爆满了!