windows下,怎么压缩Docker Desktop占用的磁盘空间

1. 清理系统垃圾

首先执行标准的清理命令,删除悬空镜像和构建缓存:

复制代码
# 删除所有停止的容器、未使用的网络和悬空镜像
docker system prune -f

# 专门清理构建缓存(BuildKit cache)
docker builder prune -f
2. 精准分析谁在占用空间

查看镜像的独占空间 (Unique Size)

请在终端执行以下命令:

复制代码
#看总量
docker system df

#查看镜像的独占空间 (Unique Size)
docker system df -v

重点关注输出中的 Images space usage 部分,查看以下几个字段:

  • SIZE: 镜像总大小。
  • SHARED SIZE: 与其他镜像共享的大小(删了它也不会省这么多空间)。
  • UNIQUE SIZE : 关键指标! 该镜像独占的空间。
  • CONTAINERS: 关联的容器数量(如果是 0,说明没在运行)。

然后可以逐个自行判断,予以删除

复制代码
docker rmi -f 镜像

或者是观察docker system df的结果,例如如果看到 Images 有 13 个,但 ACTIVE 只有 1 个。这意味着有 12 个镜像是"悬空"或未被当前容器引用的。

  • 温和清理 (仅删除无标签的悬空镜像):

    复制代码
    docker image prune
  • 深度清理 (删除所有未被容器引用的镜像):

    复制代码
    docker image prune -a

    注意:这会删除那 12 个非活跃镜像。如果你的业务容器没有正在运行,建议执行此命令。

清理本地卷 (Local Volumes)

根据docker system df输出显示的 Local Volumes 判断,同样是根据TOTAL和ACTIVE对比判断有几个卷是闲置的。

复制代码
docker volume prune -a
3. 压缩虚拟磁盘 (关键步骤)

如果 docker system df 显示占用很小,但 C 盘/D 盘空间依然被占满,说明需要压缩虚拟磁盘。

操作步骤

  1. 彻底关闭 Docker:右键点击任务栏 Docker 图标选择 "Quit Docker Desktop"。

  2. 关闭 WSL :打开 PowerShell,输入 wsl --shutdown

  3. 定位磁盘文件

    • 通常在:C:\Users\你的用户名\AppData\Local\Docker\wsl\data\ext4.vhdx
  4. 使用 Diskpart 压缩

    • 管理员身份运行 PowerShell 或 CMD。

    • 输入 diskpart 进入工具。

    • 依次执行以下命令(注意替换路径):

      复制代码
      diskpart
      select vdisk file="C:\Users\你的用户名\AppData\Local\Docker\wsl\data\ext4.vhdx"
      attach vdisk readonly
      compact vdisk
      detach vdisk
      exit
  5. 重启 Docker:操作完成后,重新启动 Docker Desktop,你会发现磁盘占用已大幅减少。

相关推荐
CCPC不拿奖不改名5 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
王维同学8 小时前
[自学][Windows C++]RunOnceEx 注册表分组键的安全遍历
c++·windows·安全·开源
BullSmall8 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
梦梦代码精11 小时前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
imatt12 小时前
Qt Creator 在Windows下编译信息乱码
windows·qt
就不掉头发12 小时前
计算机的虚拟内存
linux·服务器·windows
IT瑞先生13 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
梦远青城14 小时前
Docker 部署python的paddle进行OCR文字识别身份证
python·docker·ocr·paddle·身份证识别
CodexDave15 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
春风霓裳15 小时前
window设置永不更新
windows