Google Cloud部署故障排查:docker-compose超时与Nginx上游错误
问题原因分析
1. gcloud builds submit 超时(context deadline exceeded)
- 构建上下文体积过大:
gcloud builds submit会将当前工作目录的所有文件上传到Cloud Build构建环境。如果项目未配置.gcloudignore文件,Docker缓存、node_modules、日志文件等冗余文件会被一并上传,导致上传耗时过长触发超时。 - 构建步骤超时:Cloud Build默认有构建时长限制(默认10分钟),若
docker-compose up --build包含大量依赖下载、镜像构建步骤,耗时超过限制就会触发超时。 - 网络限制:构建过程中拉取基础镜像、依赖包时,遇到网络限速或连接不稳定,会导致步骤卡住超时。
2. Cloud Run端口监听失败 + Nginx upstream错误
- 端口监听不匹配:Cloud Run要求容器必须监听
PORT环境变量指定的端口(默认8080)。如果你的Nginx或应用程序监听的是其他端口(比如本地常用的80、3000),Cloud Run会检测到容器未监听指定端口,抛出监听失败错误。 - 服务名解析失败:Nginx配置里的
upstream "lawma-api"是本地Docker Compose网络中的服务名称,Docker Compose会自动创建内部DNS解析这类服务名。但Cloud Run是单容器部署模式,不存在多服务共享的内部网络,Nginx无法解析lawma-api这个主机名,直接启动失败,进而导致容器未正常监听端口,触发Cloud Run的错误。
内容的提问来源于stack exchange,提问作者mhanna112
相关产品推荐
相关产品推荐

