feat: init meijiaka-zj project from ai-meijiaka template
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 美家卡智影 API - Docker 镜像 (使用 uv 优化)
|
||||
# ===========================================
|
||||
|
||||
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS builder
|
||||
|
||||
# 设置 uv 环境变量
|
||||
ENV UV_COMPILE_BYTECODE=1 \
|
||||
UV_LINK_MODE=copy \
|
||||
UV_PYTHON_DOWNLOADS=never
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 先复制锁定文件,利用 Docker 缓存层
|
||||
COPY requirements.lock pyproject.toml ./
|
||||
|
||||
# 创建虚拟环境并安装依赖(利用 uv 的速度优势)
|
||||
RUN uv venv /opt/venv && \
|
||||
uv pip sync --python /opt/venv/bin/python requirements.lock
|
||||
|
||||
# 复制应用代码
|
||||
COPY app/ ./app/
|
||||
|
||||
# 安装应用本身(不安装 dev 依赖)
|
||||
RUN uv pip install --python /opt/venv/bin/python --no-deps -e .
|
||||
|
||||
# ===== 生产镜像 =====
|
||||
FROM python:3.13-slim AS production
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PATH="/opt/venv/bin:$PATH"
|
||||
|
||||
# 从 builder 复制虚拟环境
|
||||
COPY --from=builder /opt/venv /opt/venv
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 复制应用代码
|
||||
COPY app/ ./app/
|
||||
COPY pyproject.toml .
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
Reference in New Issue
Block a user