2026年10月21日09:58:46
你当前环境:Docker Desktop 新版 Mono 单分发架构 + Windows家庭版,无Hyper-V,docker-desktop-data 不存在、无法 fstrim
文件:
D:\docker\wsl\DockerDesktopWSL\disk\docker_data.vhdx痛点:
docker system prune -a只能删Docker对象,但不会自动收缩vhdx磁盘文件 ;没有fstrim入口、Optimize-VHD命令不可用
🔹 尝试瘦身流程(保留镜像,能试的全部步骤)
- 清理Docker垃圾(谨慎,
--volumes会删除未挂载卷)
powershell
docker system prune -a --volumes
- 运行官方回收容器(Mono架构专用,尝试内部置零空闲块)
powershell
docker run --privileged --pid=host docker/desktop-reclaim-space
- 托盘右键 Quit Docker Desktop 完全退出
- 管理员PowerShell关闭WSL
powershell
wsl --shutdown
- 确认全部Stopped:
wsl --list -v - diskpart压缩(家庭版唯一压缩方式)
diskpart
select vdisk file="D:\docker\wsl\DockerDesktopWSL\disk\docker_data.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
✅ 现象:compact输出压缩百分比 = 成功回收空间
❌ 现象:0%可压缩 = Mono架构限制,空闲块无法置零,此路失效
🔹 两条最终路线
-
快速瘦身(最简单,清空全部镜像/容器/卷)
退出Docker →
wsl --shutdown→ 直接删除docker_data.vhdx→ 打开Docker,自动重建一个很小的新vhdx。 -
需要保留镜像、反复压缩无效
- 方案1:接受磁盘占用持续上涨;或者迁移磁盘位置(Docker设置 → Resources → Advanced → Disk image location)
- 方案2:降级 Docker Desktop 到 4.29.x 更早版本(老双分发架构,有独立docker-desktop-data,可以正常fstrim压缩,可控性强)