Docker 多架构支持, 自已制做多架构支持

registry 地址: docker.io修改为自已的地址

一. 创建各架构镜像

arm: Dockerfile  (base image: ubuntu:18.04)

FROM ubuntu@sha256:60a99a670b980963e4a9d882f631cba5d26ba5d14ccba2aa82a4e1f4d084fb1f  

第一步,创建arm镜像,并上传

  docker build -t docker.io/platform/multiarch_test:0.0.1-arm ./
  docker push docker.io/platform/multiarch_test:0.0.1-arm

 

arm64: Dockefile (base image: ubuntu:18.04)

FROM ubuntu@sha256:fab7c78ecd4c52e801b8a597846ec5c00ff2e4f4d1d92f6af1c8390eabc1d2d5

第一步,创建arm64镜像,并上传

  docker build -t docker.io/platform/multiarch_test:0.0.1-arm64 ./
  docker push docker.io/platform/multiarch_test:0.0.1-arm64

 

amd64: Dockerfile (base image: ubuntu:18.04)

FROM ubuntu@sha256:0925d086715714114c1988f7c947db94064fd385e171a63c07730f1fa014e6f9

第一步,创建amd64镜像,并上传

  docker build -t docker.io/platform/multiarch_test:0.0.1-amd64 ./
  docker push docker.io/platform/multiarch_test:0.0.1-amd64

二. 创建manifest

docker manifest create docker.io/platform/multiarch_test:0.0.1 \
docker.io/platform/multiarch_test:0.0.1-arm \
docker.io/platform/multiarch_test:0.0.1-arm64 \
docker.io/platform/multiarch_test:0.0.1-amd64 \
--amend

 

三. 添加镜像附加信息,用于架构及系统区分

附加信息参数:

--arch                Set architecture
--os                  Set operating system
--os-features         Set operating system feature
--variant             Set architecture variant

 

  •  为arm 镜像添加附加信息
docker manifest annotate 
--arch=arm
--os=linux 
--variant=v7 
docker.io/platform/multiarch_test:0.0.1
docker.io/platform/multiarch_test:0.0.1-arm
  • 为arm64镜像添加附加信息
docker manifest annotate 
--arch=arm64
--os=linux 
--variant=v8
docker.io/platform/multiarch_test:0.0.1
docker.io/platform/multiarch_test:0.0.1-arm64
  • 为amd64镜像添加附加信息
docker manifest annotate 
--arch=amd64
--os=linux 
docker.io/platform/multiarch_test:0.0.1
docker.io/platform/multiarch_test:0.0.1-amd64

 

四. 推送manifest 到 repository

docker manifest push docker.io/platform/multiarch_test:0.0.1

五. 测试

于各架构机器之上,执行以下命令

docker pull docker.io/platform/multiarch_test:0.0.1

docker run -ti docker manifest push docker.io/platform/multiarch_test:0.0.1 sh

如果都正常运行,则创建各架构镜像成功。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值