为什么Docker镜像大小与仓库中不一致?
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,开始之前如果仔细观察你会发现,Docker宿主机中某个镜像所占用的磁盘空间和在 Docker Hub(仓库)上看到的镜像大小是不同的,例如 golang:1.9 在 Docker Hub (仓库)显示
千家信息网最后更新 2025年12月03日为什么Docker镜像大小与仓库中不一致?
开始之前
如果仔细观察你会发现,Docker宿主机中某个镜像所占用的磁盘空间和在 Docker Hub(仓库)上看到的镜像大小是不同的,例如 golang:1.9 在 Docker Hub (仓库)显示的是 272MB,而镜像下载后docker image ls 命令给出的却是 733MB 。
这是因为 Docker Hub (仓库)中显示的大小是压缩后的体积,在镜像下载和上传过程中镜像是保持压缩状态的,以保证能够更快速的下载或上传镜像,而 docker image ls 命令是镜像下载到本地展开后的各层所占空间的总和。
Unino FS
Docker 镜像是多层存储结构,并且可以继承、复用,因此不同镜像可能会因为使用相同的基础镜像,从而拥有共同的层。docker image ls 命令列出的镜像体积总和并非是所有镜像实际消耗硬盘空间,因为基于 Union FS技术(联合文件系统),相同的层只需要保存一份即可,所以实际镜像硬盘使用空间可能要比这个小的多。
可以通过以下命令来查看镜像、容器、数据卷所占用的空间。
docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 52 0 9.846GB 9.846GB (100%)Containers 0 0 0B 0BLocal Volumes 0 0 0B 0B命令帮助
docker system --helpUsage: docker system COMMANDManage DockerOptions: --help Print usageCommands: `df` Show docker disk usage events Get real time events from the server info Display system-wide information prune Remove unused data# 省略...注意,docker 1.13.1(含) 后版本支持 system 子命令。
小结
最后来总结下文章中的知识点
- Docker仓库侧重点是网络,镜像下载和上传过程中始终保持压缩状态。
- 由于
Union FS的特性,不同docker镜像可能会使用相同的基础镜像,doker images命令列出的镜像体积总和并不能代表实际使用的磁盘空间,需要使用docker system df命令来代替。
参考文章
doker&k8s Qun [703906133]
镜像
命令
空间
仓库
不同
相同
体积
实际
总和
大小
基础
文章
状态
硬盘
磁盘
过程
代表
侧重点
可以通过
多层
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宝德服务器装系统检测不到硬盘
徐汇区信息化软件开发供应商
收银机的数据库客户端是
梦幻手游如何删除角色所在服务器
广州天是网络技术有限公司
县城开软件开发
xls服务器
服务器相关技术的介绍
诺基亚需要连接服务器怎么办
网络技术支持3000字报告
软件开发经理 招聘信息
数据库关系代数复习
网络安全系统一般多少钱
protel贴片数据库
互联网科技都有什么区别
当前最好的网络安全技术
数据库位数设过大有影响吗
单位网络安全保密管理改进
数据库导入命令impdp
曙光服务器型号
架构学什么软件开发
全球科技与互联网市值
sql2000数据库安全
csgo全球服务器
udp中继服务器
数据库表怎么重构
活动目录数据库管理
sql拿到id最大的数据库
程序设计和软件开发翻译
k8s部署服务器配置