之前做的一个项目,采用的是 OCI 的一点规范
https://github.com/opencontainers/distribution-spec/blob/main/spec.md 。对于单架构来说,cli 获取 manifest ,然后再拉取 blob 。
对于多架构的处理我不太清楚,不知道 docker pull --platform 下载指定架构的镜像,cli 和 registry 的交互逻辑是什么。
之前做了一个错误的版本,以为是通过 UA 来识别, 比如 header['user-agent'] 为 OS/linux arch/amd64 的时候给对应的机器下发适合这台机器的镜像,后来发现被不符合标准。
目前得到的信息是:docker cli 会先从 registry 获取 manifest list ( fit-list ) ,在从 list 拿到对应架构的 manifest ,再获取 blob 。
不知道没有大佬了解这相关的内容,请赐教。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/976210
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.