GCP Cloud Run部署报错:无法找到/app/main.py文件
排查Cloud Run部署时找不到/app/main.py的问题
检查Cloud Run启动命令配置
确认Cloud Run控制台或部署命令中是否指定了自定义启动命令,覆盖了Dockerfile里的CMD/ENTRYPOINT。比如Dockerfile定义了CMD ["python", "/app/main.py"],但Cloud Run设置了其他启动命令,就会导致路径错误。建议将Cloud Run的“启动命令”和“启动参数”留空,直接使用镜像内置的启动配置。核对Dockerfile的工作目录与启动命令
检查Dockerfile中WORKDIR的设置是否正确,比如如果设置了WORKDIR /app,那么启动命令应该写CMD ["python", "main.py"]而非绝对路径,避免路径冲突。确保工作目录和启动命令的路径逻辑一致。排查CI构建流程的镜像差异
虽然本地构建和拉取云端镜像运行正常,但仍需确认CI.yml中的构建步骤:- 检查
docker build的上下文路径是否为项目根目录,避免因上下文错误导致文件未复制进镜像; - 确认CI环境中的
.dockerignore或.gitignore是否意外过滤了main.py,排除构建时的临时配置问题。
- 检查
确保文件权限正确
在Dockerfile中添加RUN chmod +r /app/main.py,保证容器运行用户拥有读取main.py的权限,避免因权限不足导致系统判定文件不存在。检查路径与文件名的大小写
Cloud Run基于Linux环境,路径和文件名大小写严格敏感。如果本地是Windows/macOS系统,可能忽略大小写差异,但云端会报错。确认启动命令中的路径和实际文件名(如main.py而非Main.py)完全一致。
内容的提问来源于stack exchange,提问作者Laodao
相关产品推荐
相关产品推荐

