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

Docker build无法找到父目录中的myapi.sln文件如何解决?

错误根因

该报错由Docker构建上下文的访问限制导致:

  • 执行docker build web.api/时,末尾传入的web.api/就是构建上下文目录,Docker构建全程仅允许读取该目录内的文件,无法访问上级目录的资源
  • 你的myapi.sln存放在web.api的上级目录,不在构建上下文的可访问范围内,因此无论在Dockerfile中如何调整相对路径都无法找到该文件

修复方案

方案1:修改构建命令(推荐)

无需调整现有文件结构,在myapi父目录下执行如下构建命令即可:

docker build -f web.api/Dockerfile .

命令中末尾的.代表将当前父目录设为构建上下文,-f参数指定Dockerfile的存放路径,原有Dockerfile中的COPY ./myapi.sln .无需修改即可正常运行。

方案2:调整文件位置

如果你不想修改构建命令,直接将myapi.sln移动到web.api目录下,原有COPY myapi.sln .的写法即可生效。

提示:Dockerfile中COPY指令的源路径是相对于构建上下文目录的相对路径,不是相对于Dockerfile存放目录的路径,这是常见的理解误区。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:01