# 分层构建:依赖与代码分离,仅代码变更时只重建最后一层,加快迭代 FROM tiangolo/uvicorn-gunicorn-fastapi:python3.11-slim ENV MODULE_NAME=backend.app.main ENV VARIABLE_NAME=app ENV PORT=8000 ENV HOST=0.0.0.0 # SQLite 对并发写不友好,单 worker 避免多进程竞争 ENV WEB_CONCURRENCY=1 WORKDIR /app # 依赖层:只有 requirements 变更时才重建 COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r /app/requirements.txt # 代码层:仅此层会随业务代码变更而重建 COPY backend /app/backend