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

Windows10 WSL环境下docker build报错找不到requirements.txt怎么办

问题根因
  • 直接原因是COPY . .指令执行时没有成功将宿主机的requirements.txt文件写入容器的/app目录,导致后续pip install时找不到对应文件。
  • 触发该问题的核心是WSL的Windows挂载目录兼容问题:默认情况下WSL的/mnt路径下挂载的Windows磁盘未开启元数据与权限映射支持,Docker构建时读取该路径下的文件会出现权限校验失败、文件无法识别的问题。
  • 其他可能的触发原因:
    • Windows端目标文件夹开启了加密、系统级权限限制,Docker Desktop的WSL集成组件没有读取权限
    • 本地.dockerignore文件存在误过滤requirements.txt的规则,或Windows格式的换行符导致.dockerignore解析异常
解决方案

方案1:开启WSL挂载盘元数据支持(长期最优)

该方案可以直接解决挂载目录的文件兼容问题,无需每次移动代码到WSL内部:

  1. 在WSL终端中执行命令编辑配置文件:sudo nano /etc/wsl.conf
  2. 写入以下配置内容:
[automount]
options = "metadata,umask=22,fmask=11"
mountFsTab = false
  1. 保存退出后,在Windows CMD或PowerShell中执行wsl --shutdown重启WSL实例,之后再在/mnt路径下执行构建即可正常运行。

方案2:临时校验修复

如果不想修改WSL全局配置,可以按以下步骤排查:

  1. 执行构建前先在当前目录运行ls命令,确认requirements.txt确实存在于当前工作目录
  2. 执行构建命令时明确指定上下文与Dockerfile路径:
docker build -f ./Dockerfile .
  1. 检查当前目录的.dockerignore文件,删除会过滤requirements.txt、*.txt的规则,若文件是Windows端编写的,将换行符转换为LF格式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:36:01