• 已删除用户
Administrator
发布于 2021-09-13 / 3 阅读
0

Windows通过WSL2修改Docker磁盘映像文件位置

Windows 电脑上安装 Docker Desktop 没多久,发现C盘磁盘容量大幅减少,经过查找发现是被 Docker VM 的磁盘映像 ext4.vhdx 占用的。
WSL2 模式下 docker-desktop-data vm 磁盘映像通常位于以下位置:

C:\Users\ZHANGQIN\AppData\Local\Docker\wsl\data

按照以下步骤可其重新定位到其他目录,并保留所有现有的 Docker 数据。

关闭 Docker Desktop

右键单击 Docker Desktop 图标关闭 Docker 桌面,然后选择退出 Docker 桌面。

确保所有发行版本都已关闭

打开命令提示符,输入wsl --list -v

默认情况下,Docker Desktop for Window 会创建如下两个发行版
docker-desktop (对应 distro/ext4.vhdx)
docker-desktop-data (对应 data/ext4.vhdx)

导出 docker-desktop-data 映像文件(备份 image 及相关文件)

docker-desktop-data为例(此文件最大),使用如下命令:

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

取消注册 docker-desktop-data

需注意C:\Users\ZHANGQIN\AppData\Local\Docker\wsl\data\ext4.vhdx文件会被自动删除。

wsl --unregister docker-desktop-data

导入 docker-desktop-data,并设置新的路径

将备份的 docker-desktop-data 再导入回 wsl,并设置路径,即新的镜像及各种 docker 使用的文件的挂载目录

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

重新启动 Docker Desktop

命令执行完毕,就能在目录下看到文件了,这时次启动 Docker Desktop 即可。
如果有必要,docker-desktop 也可按照该步骤修改文件位置,只是distro/ext4.vhdx并不怎么大。