# Dockerfile:FastAPI 应用镜像(gunicorn + uvicorn worker 多进程生产模式) FROM python:3.10-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ TZ=Asia/Shanghai WORKDIR /app # 先装依赖,利用 Docker 层缓存 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 拷贝项目代码 COPY . . EXPOSE 8000 # gunicorn 多 worker 启动(uvicorn.workers.UvicornWorker 兼容 FastAPI 异步) # 生产环境建议 worker 数 = CPU 核数 * 2 + 1 CMD ["gunicorn", "main:app", \ "--workers", "4", \ "--worker-class", "uvicorn.workers.UvicornWorker", \ "--bind", "0.0.0.0:8000", \ "--timeout", "60", \ "--access-logfile", "-", \ "--error-logfile", "-"]