部署Google App Engine自定义运行时的几个问题

我有一个httpserver的docker镜像,我想将其作为自定义运行时部署到Google App Engine。 我在部署应用程序时遇到了一些问题。

我正在使用的命令是:

gcloud app deploy --image-url gcr.io/project-id/image --version dev 

部署通常工作但是:

  1. 部署需要很长时间 。 大约5 – 10分钟。 这比我所期望的要长得多。 我期待它花费大约相同的时间顺序,以便启动虚拟机,下载镜像,并执行docker run 。 但部署至less需要两倍的时间。 我知道这不完全是一回事,但这似乎是一个合理的球场。 有什么我可以做得更快?

  2. 有时,直到应用程序启动后,命令才会返回 。 我一直在部署正在监视日志,有时我看到部署完成, /_ah/health请求返回200,我可以击中应用程序的其他url,但gcloud app deploy将不会返回,直到几分钟后。

  3. 有时在应用程序启动之前,命令会返回成功 。 再次监视日志,有时我发现gcloud app deploy返回,但应用程序无处不在。 /ah/_health还在返回503 。 一段时间后,应用程序将起来,工作得很好,所以没有问题的形象。

  4. CRTL-X弄糟了 。 一旦我启动gcloud app deploy我不能优雅地取消操作。 如果我使用CTRL-X中断,服务在一段时间内(10-15分钟?)处于无法pipe理的状态。 在此期间,我无法删除该服务,也无法运行其他gcloud app deploy 。 有没有优雅的方式来中断部署?

考虑到所有这些问题,我想知道如果我尝试在App Engine上使用自定义运行时出错。 这感觉对我来说是一半,我想知道它是否适合生产。 有更好的select部署Docker容器吗? 容器引擎是显而易见的select,但似乎FAR比我所需要的更复杂。 我只想一个简单的可扩展的方式来运行一个单一的泊坞窗图像作为httpserver。