You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab Runner流水线报错:moby/buildkit:buildx-stable-1镜像清单未找到

解决GitLab Runner流水线中Buildkit镜像找不到的问题

原因分析

你的Docker版本18.03.1-ce过于老旧,GitLab Runner v15.8.1默认使用的moby/buildkit:buildx-stable-1镜像,其镜像清单(manifest)不兼容老版本Docker的镜像拉取逻辑,导致无法找到对应镜像。另外,旧版Docker对Buildx的支持有限,也会引发这类兼容性问题。

解决方案

方案1:指定兼容旧Docker的Buildkit镜像标签

修改GitLab CI配置文件(.gitlab-ci.yml),在使用docker buildx的阶段,指定一个兼容Docker 18.03的Buildkit镜像,比如moby/buildkit:v0.10.6:

build:
  stage: build
  variables:
    DOCKER_BUILDKIT_IMAGE: moby/buildkit:v0.10.6
  script:
    - docker buildx build --push -t your-image:tag .

若为Runner配置层面的问题,修改GitLab Runner的config.toml文件,在[runners.docker]节点下添加或修改:

[runners.docker]
  buildkit_image = "moby/buildkit:v0.10.6"

修改后重启GitLab Runner容器:

docker restart gitlab-runner

方案2:升级Docker版本(推荐)

Docker 18.03已停止维护,存在安全漏洞和兼容性问题,建议升级到支持Buildx的稳定版本(如20.10.x系列):

  1. 停止并移除旧Docker相关组件(以CentOS为例):
systemctl stop docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  1. 安装新版Docker:
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io
systemctl start docker
systemctl enable docker
  1. 重启GitLab Runner容器:
docker restart gitlab-runner

方案3:禁用Buildkit,使用传统Docker构建

若暂时无法升级或修改镜像标签,可在CI配置中禁用Buildkit,改用传统Docker构建方式:
在.gitlab-ci.yml的构建阶段添加环境变量DOCKER_BUILDKIT=0:

build:
  stage: build
  variables:
    DOCKER_BUILDKIT: 0
  script:
    - docker build -t your-image:tag .
    - docker push your-image:tag

内容的提问来源于stack exchange,提问作者eddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:01:26