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,你会发现磁盘占用已大幅减少。

相关推荐
dyj09520 小时前
Dify - (一)、本地部署Dify+聊天助手/Agent
人工智能·docker·容器
John_ToDebug20 小时前
隐于无形,触手可及:Chrome 互动滚动条的六个设计密码
chrome·windows·ui
思茂信息21 小时前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求
开发者联盟league1 天前
在windows上安装和运行rocketmq
windows·rocketmq
Nice_Fold1 天前
Kubernetes DaemonSet、StatefulSet与Service(自用笔记)
笔记·容器·kubernetes
非凡ghost1 天前
可拓浏览器:给手机浏览器装上“外挂“!2W+拓展+AI搜索,玩出无限可能!
windows·智能手机·音视频·firefox
小神.Chen1 天前
如何删除远程桌面的连接记录,一键清理mstsc远程桌面连接的记录
windows
John_ToDebug1 天前
WebHostView 与 TabStrip 交互机制深度解析
c++·chrome·windows
L1624761 天前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php