
我找到一个官方接口可以查询到每个镜像的 tags 信息,但是我不是很理解这个接口里面关于镜像大小的参数,为什么跟我拉取的镜像的大小完全对不上?
接口是: https://registry.hub.docker.com/v2/repositories/library/redis/tags/?page=2 想看的可以点开连接看完整数据,不想点开的看下面部分数据:
{ "name": "alpine", "full_size": 17785903, "images": [ { "size": 17842941, "architecture": "s390x", "variant": null, "features": null, "os": "linux", "os_version": null, "os_features": null }, { "size": 18640291, "architecture": "ppc64le", "variant": null, "features": null, "os": "linux", "os_version": null, "os_features": null }, 比如这里我查到了 redis 有个 tag 是 alpine ,这个里面有几个参数我不是很理解,
"full_size": 17785903 #按照我的理解应该是表示这个镜像的最终大小,但是我拉到本地,发现大小是 50.9MB,怎么换算都对不上这个数据 "images" 是一个列表,我的理解是镜像的层级,表示这个镜像是怎么构建出来的。同样对 size 参数不解 能否有大佬帮忙解释一下这个接口里面的信息的意义
1 CEBBCAT 2019-06-22 19:14:10 +08:00 via Android architecture 是平台的意思吧,不是很了解 docker,是不是针对不同平台提供了不同的 image ? |
2 Beebird 2019-06-22 20:00:21 +08:00 via Android full size 应该是压缩后的镜像大小。但是下载时每个 layer 都是一个 tar 包,pull 的时候下载完成立刻解压。所以真正落到你文件系统的 image 大小是所有 layer 大小相加。 |
3 Beebird 2019-06-22 20:03:21 +08:00 via Android 还有就是这个 image list 不是层级,而且为不同架构平台 build 的 image |