如何解决Docker 配置找不到现有文件?
我尝试在 IntelliJ Rider 中配置和运行 docker 文件。
在构建过程中,我收到以下错误:
Step 7/17 : copY ["src/No.Services/No.Gf/No.Gf.Api/No.Gf.Api.csproj","src/No.Services/No.Gf/No.Gf.Api/"]
Error response from daemon: copY Failed: file not found in build context or excluded by .dockerignore:
stat src\No.Services\No.Gf\No.Gf.Api\No.Gf.Api.csproj: file does not exist
文件就在路径指向的地方。它没有被排除在 .dockerignore 中。
我在这里没有选择?
第 6 步是:
Step 6/17 : workdir /src
也许这是添加了一个“/src”,在第 7 步中它终于在 /src/src/... 中查找文件?
解决方法
我不知道您的物理目录层次结构,但我想说错误的原因可能是 Dockerfile
和 csproj
之间的原始相对路径。如果 csproj
位置声明为 src/No.Services/No.Gf/...
,Dockerfile
必须与该 src
文件夹位于同一级别,才能成功复制。
你能验证一下吗?
(如果您在项目顶部使用典型的 dotnet
解决方案,则在解决方案的根目录中设置 Dockerfile
可能会解决您的错误,因为它会尊重文件夹的层次结构。 )
关于其他主题:
-
WORKDIR
命令指的是容器中的工作目录 (reference),因此,我会说这不是您出错的原因,因为看起来,当正在复制,在其源中找不到该文件。 -
复制到容器中成功后,它可能会在
src/src/No.Services/No.Gf/...
这样的目录中,但这是复制后的容器内。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。