Jenkins部署項(xiàng)目發(fā)布鏡像報(bào)錯(cuò)failed to load LLB: runtime execution on platform linux/arm64 not supported

報(bào)錯(cuò)信息:

#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

解決方法:

構(gòu)建鏡像之前安裝qemu-user-static
為了讓在x86上可以運(yùn)行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")

                }

            }

        }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容