python 拒绝对资源授予权限“favicon”

2hh7jdfx  于 2023-02-28  发布在  Python
关注(0)|答案(3)|浏览(191)

当artifact存储库成功创建时,运行docker push将图像推送到google artifact注册表失败,并出现权限错误,即使我在gcloud cli上使用的帐户授予了所有artifact权限。

用于推送映像的命令:

docker push us-central1-docker.pkg.dev/project-id/repo-name:v2

错误消息:

The push refers to repository [us-central1-docker.pkg.dev/project-id/repo-name]
6f6f4a472f31: Preparing
bc096d7549c4: Preparing
5f70bf18a086: Preparing
20bed28d4def: Preparing
2a3255c6d9fb: Preparing
3f5d38b4936d: Waiting
7be8268e2fb0: Waiting
b889a93a79dd: Waiting
9d4550089a93: Waiting
a7934564e6b9: Waiting
1b7cceb6a07c: Waiting
b274e8788e0c: Waiting
78658088978a: Waiting
denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource "projects/project-id/locations/us-central1/repositories/repo-name" (or it may not exist)
r7s23pms

r7s23pms1#

我能够重新创建您的用例。当您尝试在repository上推送映像时,会发生这种情况,其中映像的特定主机名(与其存储库位置相关联)尚未添加到凭据帮助器配置以进行身份验证。您可以在注解中参考@DazWilkin提供的Setting up authentication for Docker以了解更多细节。
在我的示例中,我尝试将一个映像推送到位置为us-east1的存储库中,但由于它尚未添加到凭据助手配置中,因此得到了相同的错误。x1c 0d1x
在我使用以下命令运行身份验证之后(特别针对us-east 1,因为它是我的存储库的location),映像被成功推送:

gcloud auth configure-docker us-east1-docker.pkg.dev

快速提示:当您在console中打开所需的存储库,然后单击SETUP INSTRUCTIONS.

时,您可能会获得特定于存储库的身份验证命令

fnatzsnv

fnatzsnv3#

另一个问题可能是当前在gcloud配置中设置的gcp项目不是包含您试图将映像推送到的repo的项目。例如,试图推送到europe-west1-docker.pkg.dev/project123/<repo_name>www.example.com/<app_name>,但gcloud配置中设置了project 456。要检查gcloud配置中设置的项目,请运行以下命令。

gcloud config configurations list

为了将项目更新为具有该存储库的项目,请运行以下命令。

gcloud config set project <project_id>

相关问题