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

Docker部署Django+Nginx+Gunicorn时web服务退出码3问题求助

Docker部署Django(Nginx环节)退出码3+502错误排查方案

核心排查方向:退出码3的常见诱因

退出码3通常指向权限问题或Gunicorn启动配置错误,结合Nginx 502错误(后端服务未响应),按以下步骤逐一排查:

1. 验证Gunicorn启动命令有效性

  • 进入web服务的临时运行容器,手动执行启动命令排查具体报错:
    docker-compose -f docker-compose.prod.yml run --rm web bash
    
    在容器内执行教程中的Gunicorn启动命令(例如gunicorn <你的项目名>.wsgi:application --bind 0.0.0.0:8000),确认是否存在项目名拼写错误、wsgi文件路径错误等问题。

2. 排查容器内文件权限

  • 检查Dockerfile.prod是否配置了正确的运行用户,若使用了自定义用户(如myuser),需确认容器内项目目录的所有者是否匹配:
    docker-compose -f docker-compose.prod.yml exec web ls -l /app
    
    若权限不匹配,可在Dockerfile.prod中添加权限修正命令:
    RUN chown -R myuser:myuser /app
    

3. 确认Nginx与Web服务的网络连通性

  • 检查docker-compose.prod.yml中web和nginx服务是否处于同一网络(默认bridge或自定义网络),确保Nginx配置文件中的proxy_pass指向正确:
    proxy_pass http://web:8000; # 需与docker-compose中web服务的名称、端口一致
    

4. 提取详细日志定位问题

  • 查看web服务的完整启动日志,捕捉隐藏报错:
    docker-compose -f docker-compose.prod.yml logs web
    
  • 查看Nginx日志,确认是否因无法连接web服务导致502:
    docker-compose -f docker-compose.prod.yml logs nginx
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:10:16