You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI/CD部署Flask应用时遇Dockerfile缺失错误

解决GitLab CI/CD + Cloud Build部署时找不到Dockerfile的问题

错误根源

Cloud Build执行Docker构建时提示unable to evaluate symlinks in Dockerfile path: lstat /workspace/Dockerfile: no such file or directory,核心原因是Cloud Build收到的构建上下文里没有Dockerfile。

排查与解决步骤

1. 确认新仓库的Dockerfile状态

  • 检查fts_im仓库根目录是否存在Dockerfile,并且已提交到GitLab:本地执行git status确认Dockerfile不在未跟踪列表,执行git log --oneline查看是否有提交Dockerfile的记录。
  • 检查仓库的.gitignore文件,确保没有包含Dockerfile或类似*Dockerfile的规则,避免Dockerfile被Git忽略。

2. 在GitLab CI中添加调试步骤验证上下文

在.gitlab-ci.yml的script部分,gcloud builds submit命令前添加目录检查,确认当前工作目录存在Dockerfile:

script:
  # ... 原有步骤 ...
  - ls -la  # 列出当前目录所有文件,确认Dockerfile存在
  - gcloud builds submit . --config=cloudbuild.yaml

运行CI流水线后查看日志,确认ls -la输出里包含Dockerfile。

3. 确认Cloud Build的上下文与Dockerfile路径

如果Dockerfile不在项目根目录,需要修改Cloud Build的构建步骤指定路径:
比如Dockerfile在./docker目录下,修改cloudbuild.yaml:

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/$PROJECT_ID/fts-im', '-f', './docker/Dockerfile', '.']

4. 检查DVC操作是否影响目录结构

确认dvc pull操作不会移动或删除根目录的Dockerfile,比如是否存在DVC配置意外覆盖根目录文件的情况。

内容的提问来源于stack exchange,提问作者sandepp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 20:25:17