修改Windows的Docker数据目录

最近发现我的C盘莫名出现储存空间爆满的情况,清理了一大堆文件,后也只释放了17G空间,最后发现是Windows Docker的数据目录增大导致的,所以打算修改数据目录,当然修改到其他非固态硬盘也会影响Docker的性能,不过Docker对读写性能要求一般不会太大。

迁移前

WSL2 模式下 docker-desktop-data vm 磁盘映像通常位于以下位置: C:\Users\用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的 Docker 数据。

图片[1]-修改Windows的Docker数据目录-诚哥博客

图片[2]-修改Windows的Docker数据目录-诚哥博客

开始迁移

首先确保你的 Docker 引擎是关闭状态,可以用

wsl --list -v

确保两个状态都已停止。

图片[3]-修改Windows的Docker数据目录-诚哥博客

::: 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

图片[4]-修改Windows的Docker数据目录-诚哥博客

:::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 文件大小有差异,不过不影响使用 :::

迁移后

图片[5]-修改Windows的Docker数据目录-诚哥博客

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容