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

Docker构建出现FileNotFoundError,请求解决模型文件路径问题

解决Docker构建时FileNotFoundError: app/mlsample/model/clf.joblib不存在的问题

1. 核对本地文件结构与拼写

  • 确认本地项目根目录下是否存在完整路径app/mlsample/model/clf.joblib,检查文件名、目录名的拼写(Linux环境下路径区分大小写,注意大小写是否匹配)。
  • 参考正确的目录结构示例:
    项目根目录
    ├── app/
    │   ├── ml_sample/
    │   │   ├── model/
    │   │   │   └── clf.joblib
    ├── docker-ml.py
    ├── Dockerfile
    ├── requirements.txt
    

2. 检查Dockerfile的COPY指令

如果模型文件没被复制到镜像中,运行时必然找不到。确保Dockerfile包含正确的复制命令:

  • 复制整个app目录到镜像:
    COPY ./app /app
    
  • 或单独复制模型文件:
    COPY ./app/mlsample/model/clf.joblib /app/mlsample/model/clf.joblib
    

注意COPY的源路径是相对于docker build执行时的构建上下文(当前目录)的相对路径,源、目标路径都要准确。

3. 修正docker-ml.py中的文件引用路径

  • 若脚本用相对路径读取模型,确认Dockerfile是否设置了WORKDIR:比如设置WORKDIR /project后,脚本里的路径应为./app/mlsample/model/clf.joblib,或直接使用绝对路径/project/app/mlsample/model/clf.joblib。
  • 绝对禁止使用本地主机的绝对路径(如C:/xxx/clf.joblib),这类路径在Docker镜像中不存在。

4. 排查.dockerignore规则

如果.dockerignore文件中包含app/mlsample/model/或*.joblib这类规则,会导致文件被排除在构建上下文外,无法复制到镜像。打开.dockerignore确认没有相关忽略规则。

5. 添加调试步骤定位问题

在Dockerfile的RUN python ./docker-ml.py之前添加目录查看命令,验证文件是否存在:

RUN ls -la /app/mlsample/model/
RUN pwd  # 查看当前工作目录

重新构建镜像,通过输出的目录内容确认问题根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:22:35