在gcloud项目设置为“ mysnippets-dev”时运行gcloud beta run deploy --image gcr.io/mynippets-dev/web:latest
会返回以下信息:
错误:(gcloud.beta.run.deploy)Google Cloud Run Service代理必须具有读取图像gcr.io/mynippets-dev/web:latest的权限。确保提供的容器图像URL正确,并且上述帐户有权访问该图像。如果您仅启用了Cloud Run API,则该权限可能需要几分钟才能传播。请注意,[mynippets-dev / web]不在项目[mysnippets-dev]中。必须从该项目授予Google Cloud Run Service代理权限
应注意,GCR映像和Cloud Run帐户都位于项目'mysnippets-dev'
中。但是出于某种原因,它认为这是跨项目部署,并且可能认为它与'mynippets-dev/web'
和/web
(GCR存储库)一起使用。
我还可以在Cloud Run UI中重现相同的问题。
部署应该成功。
答案 0 :(得分:6)
这似乎是mynippets-dev
与mysnippets-dev
的错字(缺少“ s”)
Cloud Run将此解释为跨项目部署,这是允许的,但需要足够的权限。
如果这不打算用于跨项目部署,则应使用此命令成功完成。
gcloud beta run deploy --image gcr.io/mysnippets-dev/web:latest