Dockerfile 930 B

123456789101112131415161718192021222324252627
  1. FROM python:3.11-slim
  2. WORKDIR /app
  3. COPY requirements.txt .
  4. RUN pip install --no-cache-dir -r requirements.txt
  5. # 安装 gunicorn 用于生产环境运行 Flask
  6. RUN pip install --no-cache-dir gunicorn
  7. COPY . .
  8. EXPOSE 8888
  9. CMD [
  10. "gunicorn",
  11. "-w", "4", # Worker数(建议 2*CPU核心+1,根据服务器调整)
  12. "-b", "0.0.0.0:8888", # 绑定地址和端口
  13. "--timeout", "300", # Worker超时时间(解决超时被杀死)
  14. "--graceful-timeout", "300", # 优雅重启超时
  15. "--worker-class", "gevent", # 异步worker(适合长任务/高并发,减少阻塞)
  16. "--worker-connections", "1000", # 每个worker最大连接数
  17. "--access-logfile", "-", # 访问日志输出到stdout(Docker可捕获)
  18. "--error-logfile", "-", # 错误日志输出到stdout
  19. "--log-level", "info", # 日志级别,方便排查问题
  20. "app:app"
  21. ]