gclouddocker推送可靠性

在过去的几个星期里,我一直在用gcloud docker push推送图像时遇到了很多问题。 我已经阅读了许多堆栈溢出讨论和Github的问题和解决方法,但我还没有遇到不一致的解决scheme。

通常我会尝试推送一个或两个容器图像。 第一次推送几乎总是会失败,并显示以下retry-until-timeout输出:

在这里输入图像说明

我只能用gcloud auth login 。 最多5分钟后,我将尝试推送第二张图片,并再次看到重试超时问题。 我会在每一次尝试中看到这一点,直到我再次gcloud auth login

在图像被实际推送之前,我经常需要在authentication后立即手动重试几次。

  1. 我真的被注销(我仍然可以访问与kubectlgcloud机器的豆荚和实例等)? 如果是这样,为什么被注销不一致,build设docker容器做什么,它会使我的本地gcloud会话失效?
  2. 如果没有,为什么我不能再通过gcloud docker push直到我再次进行身份validation? 之后,为什么这仍然不一致(我怀疑它可能与真正的问题很less或根本没有关系)。
  3. 有没有办法使docker机器和gclouddocker推送可靠推OSX的图像? 是否有另一种方式来获取图像到云存储库(最好从命令行)?

gcloud --version alpha 2016.01.12 beta 2016.01.12 bq 2.0.18 bq-nix 2.0.18 core 2016.02.11 core-nix 2016.02.05 gcloud gsutil 4.16 gsutil-nix 4.15 kubectl kubectl-darwin-x86_64 1.1.7

Docker version 1.10.1, build 9e83765 docker --version Docker version 1.10.1, build 9e83765

docker-machine --version docker-machine version 0.6.0, build e27fb87

virtualbox版本5.0.14 r105127

我从来没有遇到过你用gcloud docker提到的问题,但关于你的最后一点,

是否有另一种方式来获取图像到云存储库(最好从命令行)?

确实有可能在不通过gcloud的情况下推送到gcr.io仓库,例如:

 docker login -e dummy@example.com -p $(gcloud auth print-access-token) -u _token https://gcr.io docker push [your-image] 

信贷到mattmoor,更多信息在这里的原始答案: 访问谷歌容器registry,没有gcloud客户端

切换到常规docker push不会帮助超时。 这似乎与您的ISP和上传资产有关。

我收到了同样的错误。 将Docker构build过程移动到云(具有更大的pipe道)之后,gcloud docker构build并部署映像就好了。

我有相同或相似的问题。 用上面的屏幕截图描述了几分钟的重试循环后,该命令将以net/http: TLS handshake timeout失败。

为我解决这个问题的解决scheme是编辑docker守护进程configuration

DOCKER_OPTS="--max-concurrent-uploads=1"

我有一个感觉,这个问题是与docker堵塞networking连接,因为我注意到,即使浏览到Gmail可以得到一个超时(!)