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