You need to enable JavaScript to run this app. Cloud Run提示镜像不存在但Container Registry中该镜像实际存在如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Run提示镜像不存在但Container Registry中该镜像实际存在如何解决

Cloud Run 无法拉取 Container Registry 中已存在镜像的排查方案
  • 检查 Cloud Run 运行服务账号权限
    默认 Cloud Run 使用的服务账号为 [项目编号]-compute@developer.gserviceaccount.com,需要为该账号授予目标 Container Registry 对应的 roles/storage.objectViewer 权限:Container Registry 底层依赖 Cloud Storage 存储镜像,缺少对象存储读取权限会触发镜像不存在的误报。
  • 核对镜像路径完全匹配
    逐一检查镜像全路径的每一段是否和 GCR 中实际存储的完全一致:
    1. 区域前缀是否正确:如gcr.io、us.gcr.io等区域域名不能写错
    2. 项目ID、镜像名称、标签/Digest 是否完全匹配,注意大小写、多余斜杠等低级错误
  • 检查 Container Registry 对应存储桶权限
    GCR 镜像实际存储在名为 artifacts.[项目ID].appspot.com 的 Cloud Storage 桶中,确认该桶的 IAM 策略没有额外限制,未阻止 Cloud Run 服务账号访问。
  • 排查跨项目访问权限问题
    如果镜像存储在 A 项目,Cloud Run 部署在 B 项目,需要单独为 B 项目的 Cloud Run 服务账号授予 A 项目 GCR 存储桶的读取权限。
  • 排除网络策略限制
    如果 Cloud Run 配置了 VPC 连接器,检查 VPC 的出口防火墙规则、私有 Google 访问配置是否阻止了访问 GCR 的请求,可临时关闭 VPC 连接器测试拉取是否正常。
  • 本地验证镜像可拉取
    执行命令gcloud docker -- pull [镜像全路径],确认镜像路径正确、可以正常拉取,排除镜像本身的配置问题。
  • 检查部署YAML格式正确性
    确认YAML中image字段没有多余符号、引号错误、拼写错误,格式符合Cloud Run部署规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 22:51:04