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

Docker CMD配置Gunicorn启动Django应用失败的问题求助

问题原因与解决方案

核心问题

你直接调用gunicorn命令时,应用路径的语法格式错误。Gunicorn要求使用模块名:属性名的格式(冒号分隔)来指定WSGI应用,而不是用点分隔的模块名.属性名。

具体解释

  • 当你通过python3 -m gunicorn ... wsgi:application启动时,使用了正确的冒号格式:Gunicorn会导入当前路径下的wsgi模块(对应wsgi.py文件),并获取其中的application对象,所以能正常运行。
  • 但你写成CMD ["gunicorn", ..., "wsgi.application"]时,Gunicorn会错误地将wsgi.application当作一个完整的模块名去查找。由于wsgi.py是单个文件模块,不是Python包,不存在wsgi.application这个子模块,因此抛出ModuleNotFoundError。

修复方案

将Dockerfile中的CMD指令修改为:

CMD ["gunicorn", "--bind", "0.0.0.0:8000", "wsgi:application"]

补充说明

manage.py runserver能正常运行是因为Django的内置命令会自动处理当前工作目录下的模块导入逻辑,不需要遵循Gunicorn的语法规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:55:07