docker desktop界面或命令行针对性清理可快速释放c盘空间;悬空镜像和已退出容器是主要隐形占用者,需通过dashboard筛选删除或执行docker container prune -f、docker image prune -f等命令清理,再配合构建缓存清除与wsl2虚拟磁盘压缩才能彻底释放空间。
直接在 docker desktop 界面或命令行执行针对性清理,就能快速释放 c 盘空间。悬空镜像(<none></none> 标签)和已退出容器是主要“隐形占用者”,它们不显示在常规列表里,但实际占着几 gb 甚至几十 gb。
用 Docker Desktop 图形界面手动清理
适合不想开终端、追求稳妥操作的用户:
- 打开 Docker Desktop,进入 Dashboard 页面
- 切换到 Containers 标签页 → 点击右上角 Filter → 选择 Stopped 或 Exited 状态 → 勾选所有条目 → 点击 Delete
- 切换到 Images 标签页 → 查看是否有大量
<none>:<none></none></none>条目 → 勾选后点击 Delete - 注意:卷(Volumes)和构建缓存(Build Cache)需单独处理,Dashboard 中有独立标签页可逐个确认删除
用命令行一键清理悬空镜像和已停止容器
更高效,推荐日常维护使用(PowerShell 或 CMD):
- 清理所有已停止的容器:
docker container prune -f - 清理所有悬空镜像(中间层、未打标签的层):
docker image prune -f - 若想同时清理未被任何容器引用的正式镜像(谨慎操作):
docker image prune -a -f - 查看当前悬空镜像数量和大小:
docker images -f "dangling=true"
别忘了构建缓存和 WSL2 虚拟磁盘
只删镜像和容器还不够——构建缓存和 WSL2 的 ext4.vhdx 文件才是“空间黑洞”:
- 清除 build 缓存(尤其频繁构建 CLIP 类模型时):
docker builder prune -f - 压缩 WSL2 虚拟硬盘(释放物理空间):
① 退出 Docker Desktop
② PowerShell(管理员)运行:wsl --shutdown
③ 进入 WSL 发行版:wsl -d docker-desktop-data
④ 在 Linux 内执行:sudo rm -rf /var/lib/docker/* && sudo dd if=/dev/zero of=/zero.file bs=1M && sudo rm -f /zero.file && sudo fstrim -v /
⑤ 回到 Windows,PowerShell 运行:diskpart→select vdisk file="C:Users\AppDataLocalDockerwsldataext4.vhdx"→attach vdisk readonly→compact vdisk
养成两个小习惯,避免反复爆满
清理不是终点,而是日常运维的一部分:
- 拉镜像时指定明确 tag(如
clip-gmp:latest),避免默认拉取多个版本导致重复层 - 构建镜像加
--no-cache或定期docker builder prune,防止缓存越积越大 - 重要数据务必挂载到 Windows 主机目录(如
-v C:mydata:/app/data),而非依赖容器内存储











