Azure DevOps Pipelines运行时找不到指定Dockerfile问题求助
核心原因
Azure DevOps 微软托管的 Linux 代理默认会把你仓库的代码全部检出到 /home/vsts/work/1/s/ 目录下,这个目录就是代理的默认源代码根目录,路径里的s是source的缩写。
你在 Docker 构建任务里填写的app/Dockerfile是相对路径,Docker 任务默认会将相对路径和当前流水线的工作目录(也就是上述的源代码根目录)做拼接,最终就生成了报错里的完整查找路径/home/vsts/work/1/s/app/Dockerfile。
常见排查方向
- 先确认你的代码仓库根目录下是否真的存在
app文件夹,且文件夹里确实有命名完全匹配的Dockerfile(注意文件名大小写,Linux 环境下大小写敏感) - 检查你的流水线是否修改了检出步骤的默认路径,如果你手动调整过代码检出的目标存储位置,也会导致默认拼接路径匹配失败
- 如果你的 Dockerfile 存放在仓库非根路径的其他层级,需要把填写的路径改成相对于源代码根目录的准确相对路径,也可以直接填写完整的绝对路径
内容的提问来源于stack exchange,提问作者Tiger_Stripes
相关产品推荐
相关产品推荐

