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

docker-compose构建镜像报错[Errno 2] No such file or directory问题咨询

问题根因

Docker构建时的上下文(context) 配置不匹配是报错的核心原因:

  • 在GUI目录直接执行docker build时,默认上下文是当前GUI目录,Dockerfile里的COPY . .会把GUI下的dockerfile、gui.py都复制到镜像内的/app目录,运行时能找到gui.py所以正常。
  • 在docker-compose.yml里配置的build上下文是项目根目录(context: .),此时Dockerfile里的COPY . .会把根目录的所有内容(只有docker-compose.yml和GUI文件夹)复制到镜像/app目录,gui.py实际在/app/GUI/gui.py路径下,启动执行python gui.py时找不到对应文件,就抛出了文件不存在的错误。
解决方案

两种可选方案,任选其一即可:

方案1:调整docker-compose的构建上下文

修改docker-compose.yml的build配置,将上下文指定为GUI目录,和本地直接build的逻辑完全一致:

version: "3"
services:
  service_gui:
    build: 
      context: ./GUI
      dockerfile: dockerfile
    ports:
      - 8080:8080

方案2:修改Dockerfile的复制路径

如果保留根目录作为构建上下文,只需要修改GUI目录下Dockerfile的COPY指令,明确指定复制GUI目录的内容:

FROM continuumio/miniconda3
WORKDIR /app
# 从构建上下文(根目录)下的GUI目录复制所有内容到/app
COPY ./GUI/ .

RUN pip install dash
EXPOSE 8080
ENTRYPOINT [ "python","gui.py"]
验证方法

修改完成后重新执行docker-compose build,构建完成后可以执行以下命令查看镜像内/app目录的文件,确认gui.py存在即可:
docker run --rm <构建出的镜像名> ls /app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:54:03