为什么Docker镜像大小与仓库中不一致?
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,开始之前如果仔细观察你会发现,Docker宿主机中某个镜像所占用的磁盘空间和在 Docker Hub(仓库)上看到的镜像大小是不同的,例如 golang:1.9 在 Docker Hub (仓库)显示
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
互联网络科技
华服互联网科技靠谱吗
蓝思科技飞鸽互联网
今日互联网科技
华中科技大学互联网
南京欣网互联网科技
互联网前沿科技
成都狮子座互联网科技
互联网公司会议桌创意科技软装饰
玖二柒互联网科技公司待遇
央行互联网金融科技公司
受益于互联网科技的高速发展
济南有互联网科技公司吗
徐州市互联网科技有限公司
中和天地互联网科技有限公司
互联网时代的科技公司
众安科技工业互联网合作
容联科技互联网电商
中国互联网公司的科技投入
互联网对科技影响
精品咖啡豆
北京大学互联网科技怎么样
成都互联网科技公司100强
互联网大会黑科技排名
深圳育鹏互联网科技有限公司招聘
企晟互联网信息科技有限公司
科技互联网海报
江苏互联网智能科技软件
万物互联网智能科技
保山浩联互联网科技有限公司