0

0

DockerImages查看中间层镜像及悬挂镜像方法

舞夢輝影

舞夢輝影

发布时间:2026-03-19 10:29:03

|

543人浏览过

|

来源于php中文网

原创

悬挂镜像指未被任何标签指向的中间层镜像,可通过docker images -a或docker images -f "dangling=true"识别,应使用docker image prune安全清理,避免误删构建缓存或运行中容器依赖的层。

dockerimages查看中间层镜像及悬挂镜像方法

docker images -a 看到的 <none></none> 镜像就是悬挂镜像

悬挂镜像(dangling image)本质是没被任何标签(tag)指向的中间层镜像,通常是构建失败、重新打 tag 或 docker build --no-cache 后残留的。它们不显示在 docker images 默认输出里,但会占用磁盘空间。

执行 docker images -a 是最直接的方式——所有镜像层(含 <none></none>)都会列出,其中 REPOSITORYTAG 均为 <none></none> 的行,就是典型的悬挂镜像。

  • 注意:docker images -f "dangling=true" 也能过滤,但部分旧版 Docker(如 18.09 之前)不支持该 filter,-a 更通用
  • 别靠 IMAGE ID 是否重复判断:多个 tag 可能共用同一 ID,但只要有一个 tag 指向它,就不是 dangling
  • 悬挂镜像的 CREATED 时间往往非常接近,常成批出现,这是构建过程留下的线索

docker system df -v 能看清哪些层被谁引用

光知道有 <none></none> 镜像还不够,得确认它到底有没有被容器、构建缓存或其他镜像依赖。直接删错可能让后续 docker build 失败或容器启动异常。

docker system df -v 输出里,每个镜像层下面会列出 TagsShared Size,关键是看 ContainersBuild Cache 字段:

  • 如果某层的 Containers 数 > 0,说明正有运行中或已停止的容器在用它,不能删
  • 如果 Build Cache 显示 yes,代表它还在构建缓存链里,删了下次构建会变慢甚至失败
  • Shared Size 小但 Size 大,大概率是基础层(如 alpine:latest 的 rootfs),即使没 tag 也别乱清

清理悬挂镜像要用 docker image prune,不是 rm

docker rmi<none></none> 镜像无效——它只认 REPOSITORY:TAG 或完整 ID;强行用 ID 试会报错 Error response from daemon: conflict: unable to delete xxx (must be forced),而 --force 可能误删被引用的层。

Hypotenuse AI
Hypotenuse AI

AI写作助手和文本生成器,根据关键词生成原创的、有洞察力的文章

下载

正确做法是用 docker image prune

  • docker image prune:仅删 dangling 镜像(默认行为,安全)
  • docker image prune -f:跳过确认提示,适合脚本
  • docker image prune -a:删所有未被容器使用的镜像(危险!含带 tag 的),慎用
  • --filter "until=24h" 可限制只删 24 小时前的 dangling 层,降低误伤风险

CI/CD 流水线里要主动清理,否则磁盘撑爆

GitLab CI、GitHub Actions 等环境常复用 runner,每次 docker build 都会产生新层,又不自动清理,几轮下来 /var/lib/docker 占满是常态。

建议在构建步骤末尾加清理逻辑:

  • 简单场景:在 script 最后加 docker image prune -f
  • 更稳妥:先 docker system df -v | grep "Total Images" | awk '{print $3}' 记录初始数量,清理后再比对,避免静默失败
  • 别依赖 docker system prune -f:它会连网络、卷、构建缓存一起清,可能影响并发任务

真正麻烦的不是找不到悬挂镜像,而是它和构建缓存混在一起——删完发现下个 job 构建慢了三倍,这时候再查 docker system df -v 就晚了。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

19

2026.02.03

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

385

2023.10.25

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

293

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

222

2023.12.29

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4653

2026.01.21

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

22

2026.03.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号