Files
item_bank/Dockerfile
T
2026-08-01 16:50:55 +08:00

27 lines
562 B
Docker

# 后端镜像:FastAPI + uv
FROM python:3.13-slim
# uv:从官方镜像拷贝二进制
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
WORKDIR /app
ENV UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
PYTHONUNBUFFERED=1
# 先装依赖(利用缓存层)
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-install-project --no-dev
# 再拷贝应用代码
COPY app ./app
COPY alembic.ini ./
COPY entrypoint.sh ./
RUN uv sync --frozen --no-dev && chmod +x entrypoint.sh
EXPOSE 8000
# 启动前先跑迁移
ENTRYPOINT ["./entrypoint.sh"]