Docker多架构镜像|推送跨平台镜像至 docker hub

实用教程 admin 2年前 (2022-08-01) 1388次浏览 0个评论

dockerhub上一些镜像OS/ARCH支持多种芯片架构,这种multi-arch docker镜像如何实现的?

docker manifest 描述了docker镜像的基础信息,接下来测试如何实现这种效果。

这里不再叙述怎么打包的镜像了,只记录下如何将不同平台的镜像包提出来一个统一的入口,具体拉取哪个镜像,让机器自动匹配。其实也就是用到了docker的manifest,关于manifest的知识,可以看下这篇文章:Docker manifest 详解

docker manifest命令来制作多架构镜像,这个命令目前还是实验性质的,需要把docker的实验模式打开。我这里是20.20.5版本的,已经打开了,忘记是不是自己手动打开的了,如果没有打开,手动配置下。

首先保证本地已经包含两个平台的镜像包了,还有一点需要保证的是:远程仓库里面也必须要有这两个镜像,否则下面创建 manifest时,会提示:no such manifest。

推送镜像
arm64机器
docker push oneslide/test:v-arm64
x86-64机器
docker push oneslide/test:x86
manifest
创建manifest包含两个不同架构镜像
docker manifest create oneslide/test:centos-v7 oneslide/test:centos-v7-x86 oneslide/test:centos-v7-arm64
标注不同架构镜像
docker manifest annotate oneslide/test:centos-v7 oneslide/test:centos-v7-x86 --os linux --arch amd64
docker manifest annotate oneslide/test:centos-v7 oneslide/test:centos-v7-arm64 --os linux --arch arm64
推送多架构镜像
docker manifest push oneslide/test:centos-v7
sha256:43bc91a08e800f09732c2aef16eaa21c4b80a645822b514e60a521ed19dc3512

参考文献:

https://blog.csdn.net/qq_33745102/article/details/125799187

https://blog.csdn.net/linmengmeng_1314/article/details/123231087


VPS小白 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Docker多架构镜像|推送跨平台镜像至 docker hub
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址