当前位置: 首页 > 知识库问答 >
问题:

无法将图像推送到google容器注册表-呼叫者没有权限“storage.buckets.get”

曾山
2023-03-14

我正在研究一个位桶管道,用于将图像推送到gc容器注册表。我已创建一个具有存储管理员角色的服务帐户。(bitbucket-authorization@mgcp-xxxx.iam.gserviceaccount.com)

gcloud auth activate-service-account --key-file key.json
gcloud config set project mgcp-xxxx
gcloud auth configure-docker --quiet
docker push eu.gcr.io/mgcp-xxxx/image-name

虽然登录成功,但我得到:项目“mgcp-xxxx”的令牌交换失败。调用方没有权限' storage.buckets.get '。要配置权限,请按照以下网址上的说明操作:https://cloud . Google . com/container-registry/docs/access-control

有人能对我缺少什么提出建议吗?

谢谢!

共有3个答案

厍光霁
2023-03-14

您需要登录到您的帐户,并将项目设置为您想要的项目。您很有可能只是没有登录。

< code>gcloud授权登录

< code>gcloud配置集项目

孙德宇
2023-03-14

过去我有另一个同名不同权限的服务号。在发现服务号被缓存后,我创建了一个不同名称的新服务号,它正在正常推送。

宗增
2023-03-14

对于所有在这里阅读的人。这里的其他建议对我没有帮助,但我发现云服务构建帐户角色也是必需的。然后storage.buckets。显示显示。

然而,云服务构建帐户角色添加了更多权限,这些权限只是storage.buckets.get。确切的权限可以在这里找到。

注意:我很清楚云服务构建帐户角色还添加了< code>storage.objects.get权限。但是,添加< code > roles/storage . object viewer 并没有解决我的问题。尽管它具有< code>storage.objects.get权限。

如果以上不工作,你可能有错误的帐户活动。这可以通过以下方式解决:

gcloud auth activate-service-account --key-file key.json

如果这不起作用,您可能需要设置docker凭证助手:

gcloud auth configure-docker --project <project_name>

最后一点。在设置角色和通过< code>gcloud工具工作之间似乎有一些延迟。然而,这是最小的,想想一分钟不到的范围。

干杯

 类似资料:
  • 我无法将docker映像推送到低于错误的工件注册表 登录和拉取工作正常 詹金斯档案: Dockerfile: 我不确定这是怎么回事。我可以在jenkins从属节点上手动推送图像。但使用詹金斯会产生错误 我构建工作的日志 这是我的构建日志中的内容。

  • 我无法将docker映像推送到heroku注册表。 根据docker的说法,我已成功登录: 在那之后,我运行了,我得到了一些令人困惑的错误,说我试图推送到一个不安全的repo,而de-output中的url看起来是安全的(以https开头)。我做错了什么? 我正在使用以下jib配置: jib的Maven输出:build wiht-X:

  • 我正在使用fabric8 maven插件在Google云平台上运行的Jenkins上构建Docker映像。 该插件提供了将图像推送到Docker注册表的功能,但我无法使其与Google容器注册表一起工作,因为它无法进行身份验证。 从我的Jenkins管道中,我可以使用和访问注册表。 对于访问Docker注册中心,Fable8 Maven插件可以与凭据或扩展身份验证一起使用,但这似乎仅适用于AWS。

  • 我一直在努力将docker图像推送到谷歌容器注册表,使用Jenkins管道上的Fab8 maven插件。我检查了stackoverflow上的每个问题,但没有一个解决了我的问题。 这是我的设置: 运行在Google Kubernetes引擎上的Kubernetes集群。我已经部署了一个带有Jenkins服务器的pod,该服务器根据以下自定义图像启动带有Kubernetes CI插件的代理: 这个代

  • 我目前正在开发Quarkus应用程序,因此需要一个CI管道容器注册表。 由于通过docker的集装箱化不起作用(docker daemon-priviliged模式),我想使用Jib,Quarkus已经支持它。 正在处理的命令: 用户名=部署令牌用户名 密码=部署令牌 部署令牌拥有所有权限,所以这不应该是问题所在。 我还尝试了在注册表url中添加令牌的命令的不同变体: https://userna

  • 我很难让这个代码正常工作。我学了很多,但我是个初学者。 这是剧本: //将新事件推送到日历函数pushToCalendar(){//电子表格变量 var sheet=SpreadsheetApp.getActiveSheet(); var range=sheet.getRange(1,1,5,25); var values=range.getValues(); 这里有一个到假人的链接: https