4

我在谷歌云上创建了应用程序映像,并在尝试通过谷歌云 shell 推送时,出现以下错误:

08db9ff34fc6: Pushing [==================================================>] 73.38 MB
5313937c4c49: Pushing [==========================================>        ] 62.36 MB/73.37 MB
162f935b1198: Pushing [==========================>                        ] 84.09 MB/155.9 MB
dcf909146faa: Pushing [==================================================>] 6.787 MB
23b9c7b43573: Pushing [==================================================>]  4.23 MB
**denied: Unable to determine the upload's size.**

我在寻找解决方案时很努力,但没有找到一个。请帮忙。

4

2 回答 2

13

有同样的问题。您可以尝试提取您在那里配置的另一个图像:

docker pull gcr.io/...

对我来说,它最初以AccessDenied.

解决方案:

为了修复它,我去了谷歌云 UI 界面中的存储浏览器:

https://console.cloud.google.com/storage/browser

转到artifacts.<project-name>.appspot.com存储桶并授予自己存储访问权限。然后它起作用了

于 2019-03-06T20:05:18.980 回答
5

我刚刚遇到了这个,对于一个一直在工作的容器注册表。

我们已将注册表设置为私有,然后转到存储级别,并添加来自客户组织的身份作为存储查看器。我们将权限粒度从对象级更改为桶级策略,以简化权限管理。

设置存储桶级策略是错误的

将权限粒度恢复到对象级别可以解决问题。

更新:Daniel Hasegan 下面的回答是正确的。只要访问存储桶的任何帐户都具有正确的推送或拉取权限,就可以启用存储桶级别的权限。如果您在 Google Kubernetes Engine 上运行,则必须确保运行集群节点的服务帐户至少具有 Storage Object Viewer 权限,否则您的 pod 将因 ImagePullBackoff 错误而失败。

于 2019-05-01T17:50:30.713 回答