Update Dockerfile
Browse files- Dockerfile +50 -49
Dockerfile
CHANGED
@@ -1,50 +1,51 @@
|
|
1 |
-
# 基於支持 CUDA 12.1 的官方 NVIDIA Docker 映像
|
2 |
-
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
|
3 |
-
|
4 |
-
# 設置 DEBIAN_FRONTEND 以跳過交互式的 tzdata 設定
|
5 |
-
ENV DEBIAN_FRONTEND=noninteractive
|
6 |
-
ENV TZ=Europe/London
|
7 |
-
|
8 |
-
# 安裝系統依賴和設置時區
|
9 |
-
RUN apt-get update && apt-get install -y \
|
10 |
-
python3 \
|
11 |
-
python3-pip \
|
12 |
-
python3-distutils \
|
13 |
-
ffmpeg \
|
14 |
-
tzdata \
|
15 |
-
&& ln -fs /usr/share/zoneinfo/$TZ /etc/localtime \
|
16 |
-
&& dpkg-reconfigure --frontend noninteractive tzdata \
|
17 |
-
&& rm -rf /var/lib/apt/lists/*
|
18 |
-
|
19 |
-
# 創建並切換到新用戶
|
20 |
-
RUN useradd -m -u 1000 user
|
21 |
-
USER user
|
22 |
-
ENV PATH="/home/user/.local/bin:$PATH"
|
23 |
-
|
24 |
-
# 設置工作目錄
|
25 |
-
WORKDIR /app
|
26 |
-
|
27 |
-
# 更新 pip 和安裝构建工具
|
28 |
-
RUN pip3 install --no-cache-dir --upgrade pip setuptools wheel
|
29 |
-
|
30 |
-
# 安裝 PyTorch 2.1.2 並支援 CUDA 12.1
|
31 |
-
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
|
32 |
-
|
33 |
-
# 複製 requirements.txt 並安裝 Python 依賴
|
34 |
-
COPY --chown=user requirements.txt .
|
35 |
-
RUN pip3 install --no-cache-dir -r requirements.txt
|
36 |
-
|
37 |
-
# 下載 spaCy 中文模型
|
38 |
-
RUN python3 -m spacy download zh_core_web_md
|
39 |
-
|
40 |
-
# 複製應用程式檔案
|
41 |
-
COPY --chown=user . /app
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
50 |
CMD ["python3", "app.py"]
|
|
|
1 |
+
# 基於支持 CUDA 12.1 的官方 NVIDIA Docker 映像
|
2 |
+
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
|
3 |
+
|
4 |
+
# 設置 DEBIAN_FRONTEND 以跳過交互式的 tzdata 設定
|
5 |
+
ENV DEBIAN_FRONTEND=noninteractive
|
6 |
+
ENV TZ=Europe/London
|
7 |
+
|
8 |
+
# 安裝系統依賴和設置時區
|
9 |
+
RUN apt-get update && apt-get install -y \
|
10 |
+
python3 \
|
11 |
+
python3-pip \
|
12 |
+
python3-distutils \
|
13 |
+
ffmpeg \
|
14 |
+
tzdata \
|
15 |
+
&& ln -fs /usr/share/zoneinfo/$TZ /etc/localtime \
|
16 |
+
&& dpkg-reconfigure --frontend noninteractive tzdata \
|
17 |
+
&& rm -rf /var/lib/apt/lists/*
|
18 |
+
|
19 |
+
# 創建並切換到新用戶
|
20 |
+
RUN useradd -m -u 1000 user
|
21 |
+
USER user
|
22 |
+
ENV PATH="/home/user/.local/bin:$PATH"
|
23 |
+
|
24 |
+
# 設置工作目錄
|
25 |
+
WORKDIR /app
|
26 |
+
|
27 |
+
# 更新 pip 和安裝构建工具
|
28 |
+
RUN pip3 install --no-cache-dir --upgrade pip setuptools wheel
|
29 |
+
|
30 |
+
# 安裝 PyTorch 2.1.2 並支援 CUDA 12.1
|
31 |
+
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
|
32 |
+
|
33 |
+
# 複製 requirements.txt 並安裝 Python 依賴
|
34 |
+
COPY --chown=user requirements.txt .
|
35 |
+
RUN pip3 install --no-cache-dir -r requirements.txt
|
36 |
+
|
37 |
+
# 下載 spaCy 中文模型
|
38 |
+
RUN python3 -m spacy download zh_core_web_md
|
39 |
+
|
40 |
+
# 複製應用程式檔案
|
41 |
+
COPY --chown=user . /app
|
42 |
+
|
43 |
+
|
44 |
+
# 設置環境變量
|
45 |
+
ENV PORT=7860
|
46 |
+
|
47 |
+
# 暴露應用運行的端口
|
48 |
+
EXPOSE 7860
|
49 |
+
|
50 |
+
# 啟動 Flask 應用
|
51 |
CMD ["python3", "app.py"]
|