DaBiao / Dockerfile
nine-7's picture
Update Dockerfile
8457998 verified
Raw
History Blame Contribute Delete
1.08 kB
# 使用固定的稳定的 Debian bookworm 版本,防止底层系统更新导致报错
FROM python:3.11-slim-bookworm
# 1. 以 root 身份安装系统依赖 (使用 libgl1 替代 libgl1-mesa-glx)
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgl1 libglib2.0-0 sudo && \
rm -rf /var/lib/apt/lists/*
# 2. 创建 Hugging Face 要求的非 root 用户 (UID 1000)
RUN useradd -m -u 1000 user
# 3. 切换到该用户
USER user
# 4. 设置环境变量
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PYTHONPATH=/home/user/app \
PYTHONUNBUFFERED=1
# 5. 设置工作目录
WORKDIR $HOME/app
# 6. 复制 requirements.txt 并设置所有权
COPY --chown=user requirements.txt .
# 7. 安装 Python 依赖
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 8. 复制所有代码并设置所有权
COPY --chown=user . .
# 9. 创建输出目录并确保权限正确
RUN mkdir -p $HOME/app/tmp_outputs
# 10. 暴露端口
EXPOSE 7860
# 11. 启动命令
CMD ["python", "app.py"]