首页 > 解决方案 > GCloud:无法监听 env 变量定义的端口

问题描述

我第一次尝试使用以下两个教程在 Google Cloud Platform 上进行部署:

  1. Gcloud 构建快速入门
  2. Gcloud 部署快速入门

但是,在运行最终命令时gcloud builds submit --config cloudbuild.yaml,其中cloudbuild.yaml是按照教程的 yaml 文件的名称,会引发以下错误:

Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information.

标签: continuous-integrationweb-deploymentgcloud

解决方案


构建快速入门创建的映像不适用于部署快速入门。后者,使用 Cloud Run 需要在端口 8080 上进行 HTTP 通信。

如果您按原样使用部署快速入门,那应该可以。您可以使用以下方法在本地测试此容器映像:

docker run \
--interactive --tty \
--publish=8080:8080 \
gcr.io/gcbdocs/hello

然后尝试浏览或卷曲端点http://localhost:8080。你应该看到Hello world!

Cloud Run 的错误消息有些笼统,表示出现问题。因此,它通常无济于事。

如果您确信您正在部署一个在端口 8080 上与 HTTP 通信的容器映像,我建议您逐步按照说明来尝试查看哪里出错了。


推荐阅读