GCP Cloud Build部署流水线报错:找不到gcr.io/cloud-builders/gcb-internal:latest镜像
问题
应用部署流水线基于GCP触发器与Cloud Build服务搭建,近期构建流程失败,错误日志如下:
Step #0: Step #0: Total reclaimed space: 69.96GB Finished Step #0 Starting Step #1 Step #1: Pulling image: gcr.io/google.com/cloudsdktool/cloud-sdk ERROR: failed to pull because we ran out of retries. ERROR ERROR: build step 1 "gcr.io/google.com/cloudsdktool/cloud-sdk" failed: error pulling build step 1 "gcr.io/google.com/cloudsdktool/cloud-sdk": retry budget exhausted (10 attempts): starting container: Error response from daemon: No such image: gcr.io/cloud-builders/gcb-internal:latest
对应的构建脚本片段:
steps: - name: gcr.io/cloud-builders/docker args: - '-c' - | docker system prune -af --volumes entrypoint: bash - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - '-c' - >
该流水线此前运行稳定,近期才出现上述故障。
解决方案
- 删除全量镜像清理命令:第一步执行的
docker system prune -af --volumes会强制删除所有未使用的镜像、容器、卷等资源,其中包含Cloud Build运行时依赖的内部镜像gcr.io/cloud-builders/gcb-internal:latest,导致后续步骤无法启动容器。直接移除该清理步骤,或改为仅清理自己构建的特定镜像(例如通过docker rmi指定镜像ID或名称)。 - 指定Cloud SDK镜像的固定版本:避免使用
latest标签,改用具体版本号(如gcr.io/google.com/cloudsdktool/cloud-sdk:450.0.0),减少因镜像更新或内部依赖不匹配引发的拉取失败问题。 - 验证服务账号权限:确认Cloud Build服务账号拥有
storage.objectViewer角色权限,确保能够正常访问GCR镜像仓库,拉取所需的Cloud SDK镜像。 - 重新触发构建:若为临时网络或镜像仓库访问异常,重启构建触发器后重新发起构建,可能解决重试次数耗尽的问题。
内容的提问来源于stack exchange,提问作者Farooq Zaman
相关产品推荐
相关产品推荐

