# 使用官方 Python 精简镜像（体积小，适合生产）
FROM python:3.11-slim

# 设置环境变量，避免 Python 写入 .pyc 文件，以及确保 stdout/stderr 不被缓冲
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1

# 设置工作目录
WORKDIR /app

# 先复制依赖文件，利用 Docker 缓存加速构建
COPY requirements.txt .

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码到容器中
COPY . .

# 暴露应用端口（与 app.py 中一致）
EXPOSE 8004

# 容器启动命令
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8004"]