# 多阶段构建:构建阶段 FROM python:3.11-slim AS builder # 设置工作目录 WORKDIR /app # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ && rm -rf /var/lib/apt/lists/* # 复制 requirements.txt COPY requirements.txt . # 创建虚拟环境并安装依赖 RUN python -m venv /opt/venv ENV PATH="/opt/venv/bin:$PATH" RUN pip install --upgrade pip setuptools wheel && \ pip install --no-cache-dir -r requirements.txt # 最终运行阶段 FROM python:3.11-slim # 设置工作目录 WORKDIR /app # 设置环境变量 ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PATH="/opt/venv/bin:$PATH" # 从构建阶段复制虚拟环境 COPY --from=builder /opt/venv /opt/venv # 复制应用代码 COPY . . # 暴露端口 EXPOSE 8000 # 启动命令 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]