Docker Desktop 怎样查看镜像占用空间并清理无用镜像
来源:17golang原创
时间:2026-11-06 15:26:06 423浏览 收藏
Docker Desktop 查看镜像占用和清理无用镜像,入口都在左侧的 Images 视图。先看顶部的镜像总数与磁盘占用,再按 In use、Unused、Dangling 判断候选,最后勾选镜像执行批量删除。不要只按镜像大小直接删除:仍被运行中或已停止容器使用的镜像,需要先处理关联容器。
官方地址:https://docs.docker.com/desktop/use-desktop/images/
Images顶部摘要用于判断镜像总数、磁盘占用和刷新状态。Unused与Dangling是筛选线索,不代表可以不经确认直接删除。- 删除前核对 Tag、Image ID、Size 和容器使用关系,删除后重新观察列表和占用变化。
第 1 步:打开 Images 视图并读取占用概览
打开 Docker Desktop 后,从左侧导航选择 Images。先停留在本地镜像列表,不要一开始就进入 Docker Hub 的远程仓库。官方文档说明,Images 视图默认展示本机镜像,并在顶部提供镜像总数、占用磁盘空间以及最近刷新时间。
这里先记下两个数字:镜像总数和占用空间。它们是清理前的基线,后面复查时用来判断本次删除是否产生了预期变化。若列表刚刚发生构建或拉取,先等待视图完成刷新,再开始筛选。

第 2 步:用状态和列信息筛选候选镜像
在列表上方使用 Search 搜索镜像名或标签,缩小到明确的项目范围。然后观察镜像的使用状态:In use 表示有容器正在使用,Unused 表示当前没有容器使用,Dangling 通常表示同一标签被新构建结果替换后留下的旧镜像层。
状态只是候选线索,不能代替删除决定。点击列设置图标,把 Tag、Image ID、Date created 和 Size 打开。优先检查体积较大、状态为 Unused 或 Dangling 的条目,同时确认它不是近期还要回滚的版本,也没有被脚本或停止状态的容器依赖。
如果只是想释放空间,先处理可以重新拉取或重新构建的镜像;如果镜像是排障现场、演示环境或离线部署的唯一副本,应保留它,即使它当前显示为未使用。
第 3 步:选择镜像并执行批量删除
确认候选后,勾选一个或多个镜像。选中条目后,工具栏会显示批量删除操作以及预计可以回收的空间。点击 Bulk Delete 前,再次核对选择范围,尤其检查是否混入了仍需保留的基础镜像。
Docker Desktop 对仍被运行中或已停止容器使用的镜像有保护边界:官方说明这类镜像不能直接删除,必须先移除关联容器。遇到删除被阻止时,先回到 Containers 视图确认容器用途,不要为了清理列表而强行删除容器。

第 4 步:复查列表和空间变化
删除完成后,回到 Images 列表等待刷新,重新查看顶部的镜像总数、磁盘空间和刷新时间。目标镜像应从列表中消失,空间摘要也应按实际回收情况变化。若摘要暂时没有变化,先确认视图已经刷新,再检查是否删除的是共享层:多个镜像共用的层不会因为删除一个标签就全部释放。
最后再次搜索项目名称,确认要保留的版本还在;同时检查是否有容器因为依赖的镜像被删除而无法按原方式启动。清理动作的验收重点是“删掉明确不再需要的镜像并留下可解释的剩余集合”,而不是追求列表越少越好。
常见问题
Unused 镜像一定可以删除吗?
不一定。Unused 只表示当前没有容器使用它,不能说明它没有回滚、离线启动或排障价值。删除前先确认镜像可以重新拉取或构建。
为什么删除一个镜像后空间没有按 Size 全部下降?
多个镜像可能共享相同的底层层。删除一个标签只会释放不再被其它镜像引用的部分,列表中的 Size 也不等于本次一定可以回收的独占空间。
删除被容器使用的镜像怎么办?
先进入 Containers 视图,确认关联容器是否仍需要保留。Docker Desktop 要求先移除使用该镜像的运行中或已停止容器,再回到 Images 视图执行删除。
按“记录占用基线 → 筛选状态 → 核对依赖 → 批量删除 → 复查空间”的顺序操作,就能把 Docker Desktop 的镜像清理变成可回溯的维护动作,避免因为只看镜像大小而误删仍有用途的版本。
-
160 收藏
-
105 收藏
-
420 收藏
-
276 收藏
-
175 收藏
-
123 收藏
-
100 收藏
-
355 收藏
-
421 收藏
-
353 收藏
-
304 收藏
-
309 收藏
-
165 收藏
-
288 收藏
-
187 收藏
-
323 收藏
-
172 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习