【问题标题】:Can't push the docker image to gcp-cluster无法将 docker 映像推送到 gcp-cluster
【发布时间】:2019-09-05 01:48:26
【问题描述】:

所以我做了一个基于 tensorflow-servings 和 Kubernetes 的教程。除了将 docker 镜像推送到集群之外,所有步骤都运行良好。

这是我尝试过的教程。 https://www.tensorflow.org/tfx/serving/serving_kubernetes

当我尝试推送 docker 映像时,会出现这样的错误,

我也尝试使用范围创建集群。但结果和上面一样。

我用来创建具有作用域的集群的命令:

gcloud container clusters create resnet-serving-cluster --num-nodes 5 --scopes=storage-rw

那么这有什么问题呢?我是不是做错了什么???

【问题讨论】:

  • 您是否尝试过 WARNING 的建议?
  • 是的。只不过是在 gcp 中配置 gcloud docker
  • 警告指出,在运行该命令后,您不必使用gcloud docker 来推送图像,而是直接使用 docker。
  • 是的,我也试过了。但结果是一样的

标签: docker kubernetes google-cloud-platform tensorflow-serving


【解决方案1】:

可能有多种原因。

1)我建议从检查是否已授予全部API访问权限。

2)更新GCloud组件gcloud components update

3)使用gsutil确保您有权写入桶:

$ gsutil acl get gs://<my-bucket>

【讨论】:

  • 一切看起来都很好,但没有什么变化。结果是相同的 span>
【解决方案2】:

您正在尝试将您的图像推送到您在 gcloud 上的私有注册表中。请验证您是否可以访问您的私有注册表:

gcloud container images list-tags gcr.io/"your-project"/"image"

关于 gcloud 私有注册表的所有信息您都可以找到here:

您可以找到更多有用信息here
请注意:

默认情况下,项目所有者和编辑者拥有推送和拉取权限 用于该项目的 Container Registry 存储桶。
项目查看者只有拉取权限。

【讨论】:

  • 这给出了一些摘要、标签和时间戳细节
  • 请验证您的凭据(如 Esteban Garcia 所述),您可以使用 docker 将您的图像推送到您的私有注册表中。 gcloud beta auth configure-docker 的输出是什么?
  • 这是输出“gcloud credential helpers already registered”。当我使用 docker push 而不是 gcloud docker -- push 时,同样的事情发生了。
  • 你的“docker版本”是什么?
  • Docker 版本 18.09.4,构建 d14af54
【解决方案3】:

好的,找到了答案。我的项目 ID 和注册表名称不相等。我使用提供我的项目 ID 的新注册表名称重新标记 docker 映像并推送它。它有效。

【讨论】:

    猜你喜欢
    • 2022-01-27
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    相关资源
    最近更新 更多