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

Docker运行Python程序报错:[Errno 2] No such file or directory

问题分析与解决方案

嘿,这问题我之前刚踩过坑,其实核心就是容器内的文件路径没对应上,我给你拆解下原因和解决办法:

错误核心原因

你的Dockerfile里的操作逻辑出现了路径错位:

  1. ADD . /code —— 把本地test目录下的所有内容(包括app文件夹)都复制到了容器的/code目录里
  2. WORKDIR /code —— 把容器的默认工作目录设置成了/code
  3. 但CMD ["python", "/app/Main.py"]却直接指向了容器根目录下的/app/Main.py,这个路径根本不存在!因为你的app文件夹实际是在容器的/code/app路径下。

几种可行的解决方案

  • 方案1:修改CMD的路径(推荐)
    既然已经设置了WORKDIR /code,直接用相对路径指向app/Main.py就可以:

    CMD ["python", "app/Main.py"]
    

    或者用完整的绝对路径也没问题:

    CMD ["python", "/code/app/Main.py"]
    
  • 方案2:调整ADD的目标路径(如果需要把app放在容器根目录)
    如果你希望容器里的app直接放在根目录,可以修改ADD命令:

    ADD ./app /app
    

    不过要注意,这样只会复制本地的app文件夹到容器/app,如果你的项目还有其他依赖文件在test目录下,可能需要额外添加ADD命令把这些文件也复制到容器对应路径。

验证方法

你可以先运行一个临时容器查看文件结构,确认路径是否正确:

docker run -it my_test ls /code

这条命令会列出容器里/code目录下的内容,你应该能看到app文件夹就在里面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 06:53:16