Jenkins部署项目发布镜像报错failed to load LLB: runtime execution on platform linux/arm64 not supported

报错信息:

#9 [internal] load build context
#9 CANCELED
failed to solve: rpc error: code = Unknown desc = failed to load LLB: runtime execution on platform linux/arm64 not supported

解决方法:

构建镜像之前安装qemu-user-static
为了让在x86上可以运行arm64的docker镜像,这里需要安装qemu-user-static,过程如下:
$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

在Jenkins Pipeline Script中的添加方式:

sh 'docker run --rm --privileged multiarch/qemu-user-static --reset -p yes'

 if( isMasterBranch || isHotFixBranch || isDevelopBranch ){

            stage("Deploy to image repo") {

                docker.withRegistry("https://registry.cn-shanghai.aliyuncs.com/", "aliyunDockerRegistry") {

                    def artifactoryVersion = getReleaseVersion()

                    def dockerTag

                    if( isMasterBranch || isHotFixBranch ) {

                        dockerTag = artifactoryVersion

                    } else if( isDevelopBranch ) {

                        dockerTag = getEdgeVersion();

                    }

                    println "---> Deploying the image with tag: " + dockerTag

                    deployedImageTag = "http://registry.cn-shanghai.aliyuncs.com/server/${service}:" + dockerTag

                    def latestImageTag = "http://registry.cn-shanghai.aliyuncs.com/server/${service}:latest"

                    sh 'docker run --rm --privileged multiarch/qemu-user-static --reset -p yes'

                    sh 'docker buildx create --name builder --use'

                    docker.build(deployedImageTag, "--rm --platform=linux/amd64,linux/arm64 --build-arg ARTIFACT_VERSION=${artifactoryVersion} . --push")

                    docker.build(latestImageTag, "--rm --platform=linux/amd64,linux/arm64 --build-arg ARTIFACT_VERSION=${artifactoryVersion} . --push")

                }

            }

        }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容