adamchanadam's picture
Upload 6 files
4abfe80 verified
raw
history blame
1.42 kB
# 基於支持 CUDA 12.1 的官方 NVIDIA Docker 映像
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
# 設置 DEBIAN_FRONTEND 以跳過交互式的 tzdata 設定
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/London
# 安裝系統依賴和設置時區
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
python3-distutils \
ffmpeg \
tzdata \
&& ln -fs /usr/share/zoneinfo/$TZ /etc/localtime \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/*
# 創建並切換到新用戶
RUN useradd -m -u 1000 user
USER user
ENV PATH="/home/user/.local/bin:$PATH"
# 設置工作目錄
WORKDIR /app
# 更新 pip 和安裝构建工具
RUN pip3 install --no-cache-dir --upgrade pip setuptools wheel
# 安裝 PyTorch 2.1.2 並支援 CUDA 12.1
RUN pip3 install --no-cache-dir torch==2.1.2+cu121 torchvision==0.16.2+cu121 torchaudio==2.1.2 --extra-index-url https://download.pytorch.org/whl/cu121
# 複製 requirements.txt 並安裝 Python 依賴
COPY --chown=user requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
# 下載 spaCy 中文模型
RUN python3 -m spacy download zh_core_web_md
# 複製應用程式檔案
COPY --chown=user . /app
# 設置環境變量
ENV PORT=7860
# 暴露應用運行的端口
EXPOSE 7860
# 啟動 Flask 應用
CMD ["python3", "app.py"]