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

Docker运行报错/usr/bin/python: can't find '__main__' module in '.'如何解决

报错原因
  • Dockerfile中设置了ENTRYPOINT ["python"],容器启动时默认执行python命令,没有传入待执行的Python脚本路径时,python解释器会自动查找当前工作目录下的__main__.py模块运行,而你当前的镜像仅安装了依赖环境,没有拷贝对应Python业务代码到容器内,也没有在启动时指定执行文件,因此触发该报错。
解决方法

根据你的使用场景选择对应方案即可:

  • 若需要临时运行指定Python脚本:启动容器时传入脚本路径即可,例如本地的app.py可以用以下命令启动,将本地脚本挂载到容器内执行:
    docker run -v $(pwd)/app.py:/app.py <你的镜像名> /app.py
    
  • 若需要镜像默认启动就执行固定业务脚本:修改Dockerfile,将代码拷贝到镜像内并调整启动指令:
    # 在原有Dockerfile的ENTRYPOINT指令前新增拷贝代码的指令
    COPY app.py .
    # 调整启动指令,以下两种二选一即可
    # 方案1:固定启动执行app.py,启动时无法覆盖执行其他脚本
    ENTRYPOINT ["python", "app.py"]
    # 方案2:默认执行app.py,启动时可以传入其他脚本路径覆盖默认值
    ENTRYPOINT ["python"]
    CMD ["app.py"]
    
  • 若需要进入容器调试:启动时覆盖默认入口为bash即可:
    docker run -it --entrypoint bash <你的镜像名>
    
  • 若只需要打开Python交互式终端:启动时增加-it参数即可:
    docker run -it <你的镜像名>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:45:03