我构建了容器映像,但是当我尝试gcloud从命令行或Cloud Console 部署它时,出现以下错误:“容器无法启动。无法启动,然后侦听PORT环境变量定义的端口。 ”
小智 8
试试这个,它在我身上有效。不知何故,您需要更改其构建图像的底层平台。
docker buildx build --platform linux/amd64 -t {project-name} .
在您的代码中,您可能没有在侦听传入的HTTP请求,或者在错误的端口上侦听了传入的请求。
如Cloud Run容器运行时合同中所述,您的容器必须在Cloud Run定义的$PORT环境变量中提供的端口上侦听传入的HTTP请求。
如果您的容器无法在预期的端口上侦听,则修订运行状况检查将失败,修订将处于错误状态,并且流量不会路由到该状态。
例如,在带有Express的Node.js中,您应该使用:
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Hello world listening on port', port);
});
Run Code Online (Sandbox Code Playgroud)
在Go中:
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |