Docker 推送跨平台镜像至 私有镜像仓库

  1. 首先保证本地已经包含两个平台的镜像,并且这两个镜像在远程仓库存在
    在这里插入图片描述
  2. 这里可以看到,有两个镜像,分别是arm64和 amd64。还有一点需要保证的是:远程仓库里面也必须要有这两个镜像,否则下面创建 manifest 时,会提示:no such manifest: openjdk:8u342-jdk-slimaa
docker manifest create --insecure openjdk:8u342-jdk-slimaa openjdk:8u342-jdk-slimaa-amd64 openjdk:8u342-jdk-slimaa-arm64
  1. 声明不同架构镜像对应的操作系统和cpu架构类型
docker manifest annotate openjdk:8u342-jdk-slimaa openjdk:8u342-jdk-slimaa-amd64 --os linux --arch amd64
docker manifest annotate openjdk:8u342-jdk-slimaa openjdk:8u342-jdk-slimaa-arm64 --os linux --arch arm64
  1. 查看 manifeat
docker manifest inspect openjdk:8u342-jdk-slimaa

在这里插入图片描述

  1. 将manifest推送到私用仓库中
docker manifest push --insecure openjdk:8u342-jdk-slimaa

在这里插入图片描述
在这里插入图片描述
6. 在这里就不用推送两个镜像到镜像仓库了,因为制造这个镜像最开始的条件就是在远程镜像仓库必须有这两个镜像。

可以看到私用镜像仓库上面已经有了 8u342-jdk-slimaa 版本,并且包含两个不同架构的镜像,其中镜像的ID分别是下面的两个不同架构的镜像的 ID

  1. 随便找一台 x86_64 架构的机器测试拉取镜像:
docker pull openjdk:8u342-jdk-slimaa
  1. 查看镜像的架构是否一致:docker inspect 镜像 ID 或者镜像REPOSITORY:TAG
docker inspect openjdk:8u342-jdk-slimaa 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值