【发布时间】:2021-07-14 08:32:38
【问题描述】:
我必须测试需要从 Google Cloud Run ping google.com 的功能。为此,我创建了一个简单的 python 脚本来 ping google.com。 我将 Dockerfile 和 .dockerignore 添加到 Google Documentation 中提到的目录中。当我尝试构建容器映像时,出现以下错误:
gcloud builds submit --tag gcr.io/project_id/ping-google
ERROR: (gcloud.builds.submit) The User is forbiden from accessing the bucket [project_id_cloudbuild]. Please check your organization's policy.
我是存储管理员和 Cloudbuild 编辑器,我可能缺少哪些访问权限?
【问题讨论】:
-
作为快速检查,运行此命令
gsutil ls从您在上面运行的构建命令检查您是否能够访问云存储中的存储桶并检查云构建 IAM 用户是否具有存储权限与否。 -
是的,我可以看到所有的桶。事实上,我提到的桶是不存在的。我尝试手动创建存储桶,然后再次运行 create image 命令,但我得到了同样的错误
-
您能否为您的问题添加更多详细信息,例如 cloudbuild.yaml。
-
我没有任何构建文件。我只是在逐步试用快速入门文档:cloud.google.com/run/docs/quickstarts/build-and-deploy/python
-
我已经按照您分享的文档进行了操作,我能够成功构建和部署它。我建议您使用此命令
gcloud builds submit --gcs-source-staging-dir="gs://<BUILD_BUCKET>/runstage" --gcs-log-dir="gs://<BUILD_BUCKET>/logs" --tag=gcr.io/project_id/ping-google --project=<PROJECT>将所有构建文件上传到您创建的存储桶,或者我建议您创建一个新存储桶并创建一个文件夹,上传相应存储桶运行阶段文件夹中的所有文件并运行命令.
标签: google-cloud-platform google-cloud-build google-container-builder google-artifact-registry