首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Docker

关于 docker 镜像大小的接口

  •  
  •   Hopetree · 63 天前 · 2044 次点击
    这是一个创建于 63 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我找到一个官方接口可以查询到每个镜像的 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 参数不解
    

    能否有大佬帮忙解释一下这个接口里面的信息的意义

    4 回复  |  直到 2019-06-23 00:30:03 +08:00
        1
    CEBBCAT   63 天前 via Android
    architecture 是平台的意思吧,不是很了解 docker,是不是针对不同平台提供了不同的 image ?
        2
    Beebird   63 天前 via Android
    full size 应该是压缩后的镜像大小。但是下载时每个 layer 都是一个 tar 包,pull 的时候下载完成立刻解压。所以真正落到你文件系统的 image 大小是所有 layer 大小相加。
        3
    Beebird   63 天前 via Android
    还有就是这个 image list 不是层级,而且为不同架构平台 build 的 image
        4
    Hopetree   63 天前
    @CEBBCAT
    @Beebird
    感谢回复,不是层级那就对了,我还在想为什么有的镜像要搞那么多层级,感觉一个 dockerfile 就行了,原来是平台

    不过镜像 size 那个我是真的还是没搞清楚怎么算的,我对比了好几个拉下的镜像,发现得不到一个比例常量
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   857 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 19:58 · PVG 03:58 · LAX 12:58 · JFK 15:58
    ♥ Do have faith in what you're doing.