云容器引擎 CCE-CCE中使用x86和ARM双架构镜像:双架构镜像构建方法

时间:2023-11-01 16:18:15

双架构镜像构建方法

制作双架构镜像,Docker客户端版本需要大于18.03。

构建双架构镜像的本质是先分别构建x86和ARM架构的镜像,然后通过构建双架构的镜像manifest。

例如已经构建好了defaultbackend-linux-amd64:1.5和defaultbackend-linux-arm64:1.5两个镜像,分别是x86架构和ARM架构。

将这两个镜像上传到SWR镜像仓库,如下所示。上传镜像的具体方法请参见客户端上传镜像

# 给原始amd64镜像defaultbackend-linux-amd64:1.5加tagdocker tag defaultbackend-linux-amd64:1.5  swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-amd64:1.5# 给原始arm64镜像defaultbackend-linux-arm64:1.5加tagdocker tag defaultbackend-linux-arm64:1.5  swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-arm64:1.5# 上传amd64镜像至swr镜像仓库docker push swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-amd64:1.5# 上传arm64镜像至swr镜像仓库docker push swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-arm64:1.5

创建双架构manifest文件并上传。

#  开启DOCKER_CLI_EXPERIMENTALexport DOCKER_CLI_EXPERIMENTAL=enabled# 创建镜像manifest文件docker manifest create --amend --insecure swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend:1.5 swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-arm64:1.5 swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-amd64:1.5# 给镜像manifest文件添加arch信息docker manifest annotate swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend:1.5 swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-amd64:1.5 --arch amd64docker manifest annotate swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend:1.5 swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend-linux-arm64:1.5 --arch arm64# 向swr镜像仓库推送镜像manifestdocker manifest push -p --insecure swr.cn-north-4.myhuaweicloud.com/test-namespace/defaultbackend:1.5
support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0305.html