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

Docker Compose构建ASP.NET Core应用报错:文件或目录不存在

解决Docker Compose构建ASP.NET Core应用时的"lstat ... no such file or directory"错误

针对你遇到的构建错误,以下是具体排查和解决步骤:

1. 确认上下文路径有效性

检查docker-compose.yml所在目录下是否存在./TestApp文件夹,且该目录内包含Dockerfile和完整的ASP.NET Core项目文件:

  • Linux/Mac终端执行:ls ./TestApp
  • Windows终端执行:dir .\TestApp
    如果路径不存在或文件缺失,修正context路径为正确的项目目录。

2. 排查.dockerignore文件问题

即使你已检查过,仍需确认TestApp/.dockerignore是否存在无效规则:

  • 避免单独的#行或语法错误的规则(这类错误可能导致BuildKit解析上下文时异常)
  • 确保未误排除项目必需文件,推荐的ASP.NET Core项目.dockerignore配置:
bin/
obj/
.dockerignore
.gitignore

删除文件中所有无效的空行或错误规则后重新构建。

3. 禁用BuildKit重试构建

BuildKit有时会出现路径解析或缓存异常,可临时禁用后尝试:

  • 终端执行:
    DOCKER_BUILDKIT=0 docker-compose build
    
  • 或在Docker Desktop设置中关闭"Use BuildKit for building"选项,重启Docker后再执行构建。

4. 检查文件共享权限

  • Windows用户:打开Docker Desktop设置 → Resources → File Sharing,确保项目所在驱动器已勾选,允许Docker访问。
  • Mac用户:打开Docker Desktop设置 → Resources → File Sharing,确认项目所在文件夹已添加到共享列表。

5. 清理Docker缓存后重建

执行以下命令彻底清理缓存并重新构建:

docker system prune -a
docker-compose down -v
docker-compose build --no-cache

6. 验证Dockerfile中的输出文件名

确认Dockerfile最后一行的TestApp.dll与你的ASP.NET Core项目名称一致,若项目名称不同,替换为对应的输出DLL文件名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:45:56