GAE托管虚拟机 - 如果项目名称太长,则无法部署

时间:2015-03-30 13:26:46

标签: google-app-engine docker gcloud

目前,任何名称长度超过27个字符的项目都会破坏GAE托管虚拟机功能。

底层问题是Docker将图像命名空间限制在4-30个字符之间。这已得到修复(https://github.com/docker/docker/issues/10392),但在撰写本文时仍在等待发布。

在向GAE部署托管VM时,似乎从项目名称加上_m_前缀自动生成名称空间。这在尝试部署vm时会导致错误:

DEBUG: "POST /v1.10/images/gcr.io/_m_<my project name>/<my project name>.default.20150330t140211/push HTTP/1.1" 500 111
INFO: Exception 500 Server Error: Internal Server Error ("Invalid namespace name (_m_<my project name>). Cannot be fewer than 4 or more than 30 characters.") thrown in ProgressHandler. Retrying.

明显的解决方案是GAE gcloud工具通过一些自动截断或散列方案来尊重底层限制。

有没有人知道解决这个问题的方法?或者我必须等待谷歌修复或Docker发布新版本和谷歌更新?

1 个答案:

答案 0 :(得分:3)

我们已经意识到这个问题,而且我们正在努力解决长期问题。现在,您可以切换到旧版本的gcloud。您可以通过将此变量设置为指向旧版本(0.9.51)来执行此操作: gcloud config set --scope = installation component_manager / fixed_sdk_version 0.9.51

然后运行&#34; gcloud组件更新&#34;

然后运行&#34; gcloud config set app / hosted_registry false&#34;

你应该能够部署。当我们修复了命名问题时,我会更新此答案。

更新: 截至本周的发布(0.9.57),命名问题已得到修复。