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

相关推荐
?re?ta?rd?ed?13 小时前
C++11新特性,{}与左值
c++·windows
无人生还别怕14 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
杨浦老苏15 小时前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖
木雷坞15 小时前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器
必须得开心呀16 小时前
windows10系统任务栏图标消失修复
windows
fb_1234516 小时前
从探针到权限:一篇吃透 Kubernetes 健康检查、RBAC 认证授权与 Dashboard 可视化管理
云原生·容器·kubernetes
wefg116 小时前
【Docker】基本指令
运维·docker·容器
zl_dfq17 小时前
Windows 下 UDP 套接字编程指南
网络·windows·udp
mengge.cloud17 小时前
10-28-Kubernetes健康检查认证授权与Dashboard
云原生·容器·kubernetes
学习论之费曼学习法17 小时前
无人值守AI内容矩阵实战(10):Windows 上让 Python 进程 7×24 活着
人工智能·windows·python·矩阵·powershell·进程守护