Docker构建报错:无法找到BookWooks.OrderApi/Directory.Packages.props文件
针对你遇到的COPY failed: file not found错误,以下是几个常见原因及排查方向:
构建上下文目录错误
Docker构建时只会读取执行docker build命令所在目录(即构建上下文)内的文件。如果你的BookWooks.OrderApi文件夹位于当前执行命令目录的上层或其他路径,Docker会找不到目标文件。必须切换到包含BookWooks.OrderApi的父目录执行构建命令,例如:cd /path/to/your/solution-root docker build -t orderapi ..dockerignore规则排除了文件
检查项目根目录的.dockerignore文件,若存在*.props、Directory.Packages.props或BookWooks.OrderApi/这类规则,会直接阻止Docker访问目标文件。可以临时注释相关规则测试,或添加例外规则:# 保留其他规则,添加以下行 !BookWooks.OrderApi/Directory.Packages.props !BookWooks.OrderApi/Directory.Build.props路径大小写不匹配
Linux/WSL2环境下Docker对路径大小写敏感,需确保Dockerfile中的路径与实际文件系统的路径完全一致。比如检查文件夹名是BookWooks.OrderApi还是BookyWooks.OrderApi(注意你Dockerfile中存在BookyWooks.SharedKernel这类拼写,需确认是否存在笔误)。Visual Studio构建上下文配置错误
若使用Visual Studio构建镜像,右键项目→属性→Docker,检查构建上下文是否设置为解决方案根目录。VS默认可能将上下文设为单个项目目录,导致跨项目文件无法被Docker访问。验证文件实际路径
在构建命令执行目录下,直接用系统命令验证文件存在性:# Linux/macOS/WSL2 ls BookWooks.OrderApi/Directory.Packages.props # Windows CMD dir BookWooks.OrderApi\Directory.Packages.props若命令返回文件不存在,说明实际路径与Dockerfile中声明的路径存在差异,需核对文件夹层级。
内容的提问来源于stack exchange,提问作者Ports

