为什么云运行显示“在此端口上侦听错误”

时间:2019-09-15 14:56:23

标签: google-cloud-platform google-cloud-run

我正在使用云运行。我拉docker映像,然后将它们直接推送到google容器注册表,然后将它们链接到Cloud Run Service。但是,当我尝试部署Cloud Run Service时,我不知道为什么每次都会显示此错误

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.

请有人给我任何解决方案,实际上是在说我应该更改哪个文件或应该进行哪种更改??

4 个答案:

答案 0 :(得分:4)

当您向Cloud Run提供容器映像时,包含的容器必须具有合同才能正常运行。请read that contract,尤其是有关在端口上监听的部分:

  

在PORT上侦听请求

     

容器必须在定义的端口上侦听0.0.0.0上的请求   通过PORT环境变量。

     

在Cloud Run容器实例中,PORT环境变量为   始终设置为8080,但是出于可移植性的原因,您的代码不应   硬编码此值。

您的容器必须正在运行正在监听8080端口或PORT环境变量的端口的进程。如果不这样做,它将无法接收传入的请求。

另请参阅Cloud Run troubleshooting documentation

答案 1 :(得分:1)

即使您已定义好要侦听的端口,这也是当容器不启动时的默认错误消息。

转到日志,看看到底发生了什么。您可以使用正确的消息来解决问题。

答案 2 :(得分:1)

最好的建议是查看日志。

就我而言,我遇到了相同的“ Missing Port”错误。但是错误是我在npm脚本中输入错误。单击云运行服务时,您可以找到日志。

enter image description here

答案 3 :(得分:0)

就我而言,我没有安装一些我需要的软件包。