在 Windows 11 家庭版中清理 docker desktop 的文件
问题描述
Docker desktop 使用一段时间之后,在 wsl 中占用了大量硬盘空间。
使用文件查找功能,确定目标文件是 C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx
。
docker 自带的功能
docker system prune -a --volumes
另外还找到一个:
docker run --privileged --pid=host docker/desktop-reclaim-space
不过没什么效果。
比较常见的解决方案
在安装了 Hyper-V 之后,使用
optimize-vhd -Path xxx\xxx\ext4.vhdx -Mode full
来实现。然而 Hyper-V 在 Windows 家庭版中是没有的。
在 Windows 家庭版中的解决方案
-
首先关掉 Docker Desktop
-
关闭所有仍在运行的 wsl 虚拟机
c:\> wsl --shutdown
-
然后打开 diskpart 工具(需要 UAC 验证)
c:\> diskpart
-
在 diskpart 工具中,做如下操作:
Microsoft DiskPart 版本 10.0.22000.1 Copyright (C) Microsoft Corporation. 在计算机上: xxxxx DISKPART> select vdisk file="C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx" DiskPart 已成功选择虚拟磁盘文件。 DISKPART> attach vdisk readonly 100 百分比已完成 DiskPart 已成功连接虚拟磁盘文件。 DISKPART> compact vdisk 100 百分比已完成 DiskPart 已成功压缩虚拟磁盘文件。 DISKPART> detach vdisk DiskPart 已成功分离虚拟磁盘文件。 DISKPART> exit
完成!
参考
- 实际方案: microsoft/WSL
- 使用 docker/desktop-reclaim-space : alexeysamoshkin@medium