登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
解决Docker磁盘空间告急:认识并清理“悬空镜像” ...
解决Docker磁盘空间告急:认识并清理“悬空镜像”
[ 复制链接 ]
訾颀秀
前天 20:45
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
引言
如果你经常使用 Docker,可能会在某天发现磁盘空间莫名变小。执行 docker images命令后,列表中那些既没有名字(REPOSITORY)也没有标签(TAG)、显示为 : 的镜像,很可能就是罪魁祸首。这些就是“悬空镜像”,今天我们就来彻底了解它。
1.什么是悬空镜像?
简单来说,悬空镜像就像是软件开发的“旧版本安装包”。它们是
失去了名称和标签,并且没有被任何容器使用的镜像层
。由于没有标签标识,它们在镜像列表中就成了“无名氏”。
2.悬空镜像是如何产生的?(最常见的三种情况)
2.1 频繁构建新镜像
在开发过程中,我们经常重复执行 docker build -t my-app:latest .。每次构建,latest标签都会从旧镜像上剥离,并贴到新构建的镜像上。那个失去了标签的旧镜像,就变成了悬空镜像。
2.2 拉取镜像的新版本
当你运行 docker pull nginx:latest来获取最新版本的 Nginx 时,Docker 会把 latest标签指向刚下载的新镜像。本地上一个被标记为 nginx:latest的镜像就会变成悬空镜像。
2.3 使用 docker tag重新打标
当你为某个镜像创建一个新标签时,如果旧标签不再被其他镜像引用,它也可能变成悬空镜像。例如,你将一个测试版镜像标记为稳定版:docker tag my-app:test my-app:stable,如果 my-app:test没有其他引用,它就可能成为悬空镜像。
3.如何识别悬空镜像?
使用以下命令可以专门列出所有悬空镜像:
docker images -f "dangling=true"
复制代码
4.如何安全清理?
清理悬空镜像非常安全,因为它们已经被新版本替代,且没有被任何容器依赖。Docker 提供了强大的清理工具。
4.1 首选命令(推荐)
docker system prune
复制代码
这个命令会智能地一次性清理多种无用资源,包括:
所有已停止的容器
所有悬空镜像(这正是我们想要的)
所有未被使用的网络
所有悬空的构建缓存
执行后,系统会提示你确认,输入y即可。 如果只想清理镜像,可以执行:
docker image prune
复制代码
这个命令默认只删除悬空镜像。
4.2 高级警告(谨慎使用!)
命令 docker system prune -a或 docker image prune -a会删除所有未被容器使用的镜像,而不仅仅是悬空镜像。这可能会误删一些你暂时不用但以后可能需要的基础镜像(如 ubuntu, python),使用前请务必三思!
5.如何从源头减少悬空镜像?
一个有效的实践是使用
Docker 的多阶段构建
。它可以在最终镜像中只保留运行所需的文件,避免包含构建阶段的中间层,从而从源头上减少悬空镜像的产生。
6.总结
悬空镜像是 Docker 正常运作的副产品。定期使用 docker system prune清理它们,是一个保持开发环境整洁、高效的好习惯。现在,就打开终端,为你的 Docker 进行一次“大扫除”吧!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
解决
Docker
磁盘
空间
告急
相关帖子
docker-compse部署docker容器示例
nginx解决进程内存占用翻倍
华为开发者空间,让根技术开发触手可及
linux异常磁盘lvm恢复---惜分飞
Trae Agent三步解决软件难题
docker学习笔记
docker学习笔记
解决 iOS 上 Swiper 滑动图片闪烁问题:原因分析与最有效的修复方式
AICube数据集不合法清洗解决方法
Docker安装Postgresql
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
docker-compse部署docker容器示例
2
416
乐敬
2025-12-01
业界
nginx解决进程内存占用翻倍
2
287
疝镜泛
2025-12-04
业界
华为开发者空间,让根技术开发触手可及
4
467
眩疝诺
2025-12-09
安全
linux异常磁盘lvm恢复---惜分飞
2
891
峰邑
2025-12-10
科技
Trae Agent三步解决软件难题
1
46
煅圆吧
2025-12-10
安全
docker学习笔记
0
714
咒卖箴
2025-12-14
安全
docker学习笔记
1
802
汪玉珂
2025-12-14
业界
解决 iOS 上 Swiper 滑动图片闪烁问题:原因分析与最有效的修复方式
0
770
侧胥咽
2025-12-16
安全
AICube数据集不合法清洗解决方法
0
818
田雅宁
2025-12-18
安全
Docker安装Postgresql
1
890
章娅萝
2025-12-18
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
訾颀秀
前天 20:45
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
688
当遇见 CatchAdmin V5-模块化设计重新定义
490
【有手就行】SWIFT:花20分钟把大模型的名
559
论文速读记录 | 2025.12(2)
373
浮点数的本质:为什么计算机无法精确表示0.
726
Flink源码阅读:如何生成JobGraph
928
Python 潮流周刊#132:30 年 Python 自由职
481
大模型榜单周报(2025/12/20)
157
【节点】[LinearToGammaSpaceExact节点]原
789
Aspire 与 Azure Functions 深度集成:架构
1003
阿里Z-Image图像生成模型容器部署
310
痞子衡嵌入式:16MB以上NOR Flash地址模式
668
最新AI换脸软件,全面升级可直播,Mirage下
451
热点 Key 与大 Key 治理——识别、拆分、预
646
Media Extended
330
vlookup的终结者splookup,9个案例讲透查询
872
ROS2之Launch介绍
895
精选 8 个 .NET 开发实用的类库,效率提升
110
精选 8 个 .NET 开发实用的类库,效率提升
600
精选 8 个 .NET 开发实用的类库,效率提升
173
精选 8 个 .NET 开发实用的类库,效率提升