# 1. 使用轻量级的 Python 3.10 基础镜像 FROM python:3.12-slim # 2. 设置环境变量,防止 python 缓冲 stdout 导致日志延迟 ENV PYTHONUNBUFFERED=1 # 3. [针对 Hugging Face 空间的特殊设置] # 创建一个非 root 用户 user,UID 设置为 1000 RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" # 4. 设置工作目录 WORKDIR /app # 5. 复制 requirements.txt 并安装依赖 # (先复制这个文件可以利用 Docker 的缓存机制,加快后续构建速度) COPY --chown=user:user requirements.txt /app/ # 强烈建议安装 CPU 版本的 PyTorch 以大幅缩减镜像体积 RUN pip install --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu -r requirements.txt # 6. 复制所有项目文件到工作目录下 COPY --chown=user:user . /app/ # 7. 暴露 Gradio 默认端口 EXPOSE 7860 # 8. 启动应用 CMD ["python", "app.py"]