21 lines
605 B
Docker
21 lines
605 B
Docker
# 分层构建:避免依赖第三方基础镜像(例如 tiangolo)拉取失败
|
||
FROM python:3.11-slim
|
||
|
||
WORKDIR /app
|
||
|
||
ENV PYTHONDONTWRITEBYTECODE=1
|
||
ENV PYTHONUNBUFFERED=1
|
||
|
||
# 依赖层:只有 requirements 变更时才重建
|
||
COPY requirements.txt /app/requirements.txt
|
||
RUN pip install --no-cache-dir -r /app/requirements.txt
|
||
|
||
# 代码层:仅此层会随业务代码变更而重建
|
||
COPY backend /app/backend
|
||
|
||
EXPOSE 8000
|
||
|
||
# SQLite 对并发写不友好,单进程即可;如需生产多 worker 可在 compose 里调整
|
||
CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||
|