docker_data.vhdx是 WSL2 的虚拟磁盘文件,其特性是只增不减。即使删除了容器和镜像,文件体积也不会自动缩小,必须手动进行清理和压缩。
建议按照以下步骤操作:
第一步:清理 Docker 内部无用数据
在终端执行以下命令,删除所有停止的容器、未使用的镜像、构建缓存和未使用的卷:
docker system prune -a --volumes⚠️注意:此操作不可逆。如果容器内有重要数据,请务必先确认或备份后再执行。
第二步:关闭 Docker 和 WSL
为确保磁盘文件未被占用,需完全关闭相关服务:
在终端执行:
wsl --shutdown确保Docker Desktop也完全退出(右键托盘图标选择退出)。
第三步:压缩 .vhdx 文件
以管理员身份打开 PowerShell,执行以下操作:
启动
diskpart工具:diskpart在 diskpart 提示符下依次执行(请根据实际路径修改):
select vdisk file="C:\Users\你的用户名\AppData\Local\Docker\wsl\disk\docker_data.vhdx" attach vdisk readonly compact vdisk detach vdisk exit
💡提示:
compact vdisk步骤可能需要几分钟,请耐心等待完成。完成后重新启动 Docker Desktop,磁盘大小应恢复至实际使用量附近。
长期建议
如果 C 盘空间持续紧张,建议迁移虚拟磁盘位置:
- 打开Docker Desktop。
- 进入Settings→Resources→Advanced。
- 修改Disk image location,将其指向非系统盘(如 D 盘)。
此举可一劳永逸地解决系统盘空间占用问题。