Files
stu_teacher/Dockerfile
T

28 lines
783 B
Docker
Raw Normal View History

2026-09-21 23:17:51 +08:00
# 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", "-"]