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

相关推荐
醉城夜风~14 小时前
(超详细)C++ STL list容器详解:从使用方法到双向链表底层原理全面解析
c++·windows
修罗王14 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
凤山老林15 小时前
在 Apple 芯片的 Mac 上通过 VMware Fusion 使用 Windows 11
windows·macos·vmware·虚拟机
不弃君15 小时前
在 Windows 上用 MinGW 搭建 lwIP 调试环境:方法与踩坑实录
windows·网络协议·tcp/ip·嵌入式·mingw·lwip
ITHAOGE1516 小时前
下载 | Win11 24H2 正式版更新!(系统ISO映像、多合一版本、26100.8973、Windows 11)
windows·科技·微软·电脑
云川之下16 小时前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes
张龙68716 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏18 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online19 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
ZzzZZzzzZZZzzzz…19 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷