【问题标题】:docker push denied: Unable to determine the upload's sizedocker push denied:无法确定上传的大小
【发布时间】:2017-03-14 05:41:29
【问题描述】:

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

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.**

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

【问题讨论】:

  • 看看这是否有帮助 - github.com/docker/docker/issues/2292
  • 不,该社区基本上在讨论“由对等方重置连接”,这与我的 docker 映像的大小限制或其他任何问题无关。我的图片大小只有 313 MB。
  • 这个问题仍然悬而未决,我正在与谷歌云支持联系。这可能是因为我使用的是 Google 云的免费层。如果找到任何解决方案,我会更新
  • 您是否收到过 GCP 支持的回复?

标签: docker google-cloud-repository


【解决方案1】:

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

docker pull gcr.io/...

对我来说,它最初以AccessDenied 失败。

解决方案:

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

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

转到artifacts.<project-name>.appspot.com 存储桶并授予自己存储访问权限。然后就成功了

【讨论】:

  • 感谢@Daniel。这对我有帮助。详细信息:添加 myemailId 以在 Bucket 权限中拥有 Storage Admin 访问权限
【解决方案2】:

我刚刚遇到了这个问题,因为容器注册表一直在工作。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多