Docker Build Service 构建失败:COPY 失败:未使用 Azure 专用代理指定源文件

Docker Build Service 构建失败:COPY 失败:未使用 Azure 专用代理指定源文件

我正在开展一个大型项目,该项目使用 docker 容器和 docker-compose 来提供服务。我还使用 Azure DevOps 进行构建和发布。

当我使用托管的 VS2017 代理构建我的项目时,它运行完美,没有任何错误。现在我通过 Azure DevTest Labs 创建了一个私有代理,并将其用作构建代理。构建现在给出错误“##[error]Service 'annotation.api' 构建失败:COPY 失败:未指定源文件”。在目录中我可以看到文件在那里,并且完全相同的存储库在托管代理上运行良好。

我在网上看到有人提到这可能是权限问题,但我不知道如何解决。有什么建议吗?

答案1

造成这一问题的原因有多种。

最常见的两种似乎是(1).dockerignore 文件导致构建上下文忽略您尝试复制的文件,以及(2)尝试复制当前构建上下文之外的文件(默认情况下,即您运行 docker build 命令的目录)。

因此,一般来说,尝试将COPY ../dir/file*因此错误而失败,而不是指出实际问题不是文件不存在,而是它不在构建上下文中。如果删除星号,您可能会得到更有用的

COPY failed: Forbidden path outside the build context

相关内容