最近发现我的C盘莫名出现储存空间爆满的情况,清理了一大堆文件,后也只释放了17G空间,最后发现是Windows Docker的数据目录增大导致的,所以打算修改数据目录,当然修改到其他非固态硬盘也会影响Docker的性能,不过Docker对读写性能要求一般不会太大。
迁移前
WSL2 模式下 docker-desktop-data vm 磁盘映像通常位于以下位置: C:\Users\用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的 Docker 数据。
开始迁移
首先确保你的 Docker 引擎是关闭状态,可以用
wsl --list -v
确保两个状态都已停止。
::: tip 默认情况下,Docker Desktop for Window 会创建如下两个发行版(distro) C:\Users\jayzhen\AppData\Local\Docker\wsl docker-desktop (对应 distro/ext4.vhdx) docker-desktop-data (对应 data/ext4.vhdx)按官网提示:vhdx 文件最大支持 256G,超出大小会有异常。当然我的 C 盘也没那么大官方说明 :::
将docker-desktop-data
导出到文件中(备份 image 及相关文件),使用如下命令
如果你的文件比较大,导入导出都需要一些时间
wsl --export docker-desktop-data "D:\\docker-desktop-data.tar"
从 wsl 取消注册docker-desktop-data
wsl --unregister docker-desktop-data
:::tip 请注意 C:\Users\用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 文件将被自动删除。 :::
将导出的docker-desktop-data
再导入回 wsl,并设置我们想要的路径,即新的镜像及各种 docker 使用的文件的挂载目录
这里我设置到D:\\docker\\wsl
(需要先建好文件夹)
wsl --import docker-desktop-data "D:\\docker\\wsl" "D:\\docker-desktop-data.tar" --version 2
::: tip 导入完成后,就可以启动 Docker 测试是否依然正常,没问题就可以删除D:\\docker-desktop-data.tar
文件了。PS:导出后文件和导入后的 ext4.vhdx 文件大小有差异,不过不影响使用 :::
暂无评论内容