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

相关推荐
吴声子夜歌2 小时前
Docker入门与实战——高级镜像构建
docker
小匠石钧知2 小时前
07_在k8s集群中安装ingress-nginx
nginx·容器·kubernetes·ingress
小蜗牛狂飙记2 小时前
Windows 双击 Jar 包无反应,不用写 bat 脚本!Jarfix 一键修复(以 Struts2 扫描工具为例)
windows·struts·jar
坐看风云变幻3 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
零基础1233 小时前
Docker 部署实战:从入门到精通
docker·容器
Lvan的前端笔记3 小时前
docker:基于docker的前端部署方案
前端·docker·状态模式
承渊政道3 小时前
自建服务越来越多怎么管理?Docker部署Flare,搭一个自己的数字入口
运维·docker·容器·内网穿透·cpolar·nas·flare
IT技术分享社区4 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
kakakahahahaha4 小时前
Win10/Win11 Windows Hello指纹不可用处理:WbioSrvc、传感器驱动与登录策略
windows·电脑·笔记本电脑·内容运营·软件需求
龙腾-虎跃4 小时前
Docker 一键启动服务合集:Redis、MySQL、Kafka、MinIO、Prometheus 等(网盘转存防失效)
redis·mysql·docker·kafka·prometheus·小龙虾·miniio