云容器引擎 CCE-CCE中使用x86和ARM双架构镜像:双架构镜像构建方法
双架构镜像构建方法
制作双架构镜像,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