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

GitHub Actions下载文件后Dockerfile COPY提示文件不存在的问题求助

解决GitHub Actions中预下载.pkl文件无法复制到Docker镜像的问题

问题原因

你遇到的文件未找到错误,核心是Docker构建上下文内的文件路径与Dockerfile中COPY命令的路径不匹配:

  1. 你的load-artifacts任务上传的是./xxx/xxx_model.pkl路径下的文件,使用actions/download-artifact@v3下载时,默认会保留原目录结构,最终文件会出现在build任务工作目录的./xxx/xxx_model.pkl位置。
  2. 如果Dockerfile中COPY命令写的是COPY xxx_model.pkl ./,自然会找不到文件——因为实际文件在xxx/子目录里,不在Dockerfile所在的根目录。

解决方案

根据你的Workflow配置,提供两种直接可行的修复方式:

方式1:调整文件位置,将.pkl移到Dockerfile同目录

修改build任务中的下载步骤,添加文件移动命令,把模型文件放到Dockerfile所在的根目录:

- uses: actions/download-artifact@v3
  id: download
  with:
    name: ppe_model
    path: ./  # 保留原目录结构下载

- name: 移动模型文件到Dockerfile目录
  run: mv ./xxx/xxx_model.pkl ./

然后Dockerfile中保持原COPY命令即可:

COPY xxx_model.pkl ./

方式2:修改Dockerfile的COPY路径,匹配实际文件位置

无需调整Workflow,直接修改Dockerfile的COPY命令,指向下载后的实际文件路径:

COPY ./xxx/xxx_model.pkl ./

额外验证步骤

你可以查看build任务中View directory files步骤的输出,确认xxx_model.pkl的具体位置,再对应调整路径,确保万无一失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:51:00