Spaces:
Running
Running
File size: 878 Bytes
fb80c1a f237f2d fb80c1a f237f2d fb80c1a f237f2d fb80c1a f237f2d 7836a1c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# syntax=docker/dockerfile:1
FROM python:3.10-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
GRADIO_SERVER_PORT=7860 \
GRADIO_SERVER_NAME=0.0.0.0 \
HOME=/home/user
# 建立非 root 使用者(與 HF Spaces 一致)
RUN useradd -m -u 1000 user
# 基本系統套件與科學計算依賴
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libhdf5-dev \
libnetcdf-dev \
libopenblas-dev \
liblapack-dev \
git \
&& rm -rf /var/lib/apt/lists/*
# 切換到使用者目錄
WORKDIR $HOME/app
# 只複製 requirements.txt 並安裝
COPY --chown=user:user requirements.txt .
RUN pip install --upgrade pip && pip install -r requirements.txt
# 切換到非 root 使用者
USER user
EXPOSE 7860
# 預設執行命令(可被 docker run 覆蓋)
CMD ["python", "app.py"]
|