Jenkins构建Docker镜像报错:找不到moby/buildkit:buildx-stable-1镜像
解决方案
该错误源于构建容器内的Docker版本被修改,升级容器内的Docker版本即可解决问题。此前更新操作位置有误,正确方向是针对构建容器中的Docker版本进行升级。
问题详情
未修改Jenkinsfile或Dockerfile的情况下,从2023年1月26日起,通过Jenkins执行Docker构建并发布镜像至AWS弹性容器注册表(ECR)的任务开始失败。
Jenkinsfile相关片段
// ...无关代码... def customImage = docker.build("xxxx-builder:latest", "--build-arg BUILDENV=${buildenv} --network=host .") customImage.inside("-u 0:0 -e HOME='/tmp' --privileged --network=host -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/NuGetScratch/ -v /tmp/.nuget") { sh "docker system prune -f" sh "dotnet lambda deploy-function -cfg aws-lambda-tools-${awsservice}.json --aws-access-key-id ${creds[0]} --aws-secret-key ${creds[1]}" sh "chown -R jenkins-SAWSMGT:jenkins-SAWSMGT ./" }
构建镜像使用的Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:5.0 # Required build arguments ARG BUILDENV # Environment variables ENV BUILDENV ${BUILDENV} ENV PATH="${PATH}:/tmp/.dotnet/tools" VOLUME /home/jenkins-SAWSMGT # Install dependencies RUN apt update && \ apt install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common && \ apt-key adv --fetch-keys https://download.docker.com/linux/debian/gpg && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" && \ apt update && \ apt install -y zip docker-ce docker-ce-cli containerd.io && \ rm -rf /var/lib/apt/lists/* && \ apt clean && \ apt autoremove -y # Change user RUN groupadd -r -g 1015 jenkins-SAWSMGT RUN useradd -r -u 1014 -g jenkins-SAWSMGT jenkins-SAWSMGT USER root # Install AWS Lambda Toolkit ENV HOME="/tmp" RUN dotnet tool install -g Amazon.Lambda.Tools
目标镜像使用的Dockerfile2
FROM public.ecr.aws/lambda/dotnet:5.0 WORKDIR /var/task COPY "bin/Release/net5.0/linux-x64/publish" . RUN yum install -y amazon-linux-extras RUN amazon-linux-extras install epel -y RUN yum install -y \ libgdiplus \ libjpeg \ rpmdevtools \ wget \ yum-utils ENV WKHTMLTOPDF_BIN="wkhtmltopdf.rpm" RUN wget -O $WKHTMLTOPDF_BIN https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos7.$(arch).rpm \ && yum install -y $WKHTMLTOPDF_BIN RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf RUN mkdir -p /var/lang/lib && cp -fvr /usr/local/lib/* /var/lang/lib/
构建失败的核心输出
......... Inspecting Dockerfile to figure how to build project and docker image Executing docker build ... invoking 'docker build', working folder '/data00/jenkins-slaves/SAWSMGT/workspace/XXXX, docker file /data00/jenkins-slaves/SAWSMGT/workspace/XXXX/Dockerfile2, image name xxxx:dev' ... docker build -f "/data00/jenkins-slaves/SAWSMGT/workspace/XXXX/Dockerfile2" -t xxxx:dev --network=host . ... docker build: #1 [internal] booting buildkit ... docker build: #1 pulling image moby/buildkit:buildx-stable-1 ... docker build: #1 pulling image moby/buildkit:buildx-stable-1 1.4s done ... docker build: #1 creating container buildx_buildkit_default 0.0s done ... docker build: #1 ERROR: Error response from daemon: No such image: moby/buildkit:buildx-stable-1 ... docker build: ------ ... docker build: > [internal] booting buildkit: ... docker build: ------ ... docker build: WARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load ... docker build: ERROR: Error response from daemon: No such image: moby/buildkit:buildx-stable-1 Error executing "docker build" Error executing "docker build"
已尝试的无效操作
- 切换.NET版本至不同新旧版本
- 添加
--load或--push作为构建参数
内容的提问来源于stack exchange,提问作者brorlarsnicklas
相关产品推荐
相关产品推荐

