CatNebulaaa commited on
Commit
55e4e07
·
verified ·
1 Parent(s): 8f3d5bf

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +39 -38
Dockerfile CHANGED
@@ -1,39 +1,40 @@
1
- # 1. 使用官方 Python 3.9 镜像作为基础
2
- FROM python:3.9
3
-
4
- # 2. 设置工作目录
5
- WORKDIR /app
6
-
7
- # 3. 安装系统级依赖 (EasyOCR 的底层依赖 opencv 需要这个)
8
- RUN apt-get update && apt-get install -y \
9
- libgl1-mesa-glx \
10
- && rm -rf /var/lib/apt/lists/*
11
-
12
- # 4. 复制依赖清单并安装
13
- COPY requirements.txt .
14
- # 推荐使用 opencv-python-headless 以减小体积并避免 GUI 报错
15
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
16
-
17
- # 5. 创建非 root 用户 (Hugging Face 安全要求)
18
- RUN useradd -m -u 1000 user
19
- USER user
20
- ENV HOME=/home/user \
21
- PATH=/home/user/.local/bin:$PATH
22
-
23
- # 6. 设置 EasyOCR 和 HuggingFace 的模型缓存目录
24
- # 确保程序有权限往这些目录写文件
25
- ENV EASYOCR_MODULE_PATH=$HOME/app/easyocr_models
26
- ENV TORCH_HOME=$HOME/app/torch_cache
27
- ENV SENTENCE_TRANSFORMERS_HOME=$HOME/app/st_cache
28
-
29
- # 创建这些目录
30
- RUN mkdir -p $EASYOCR_MODULE_PATH $TORCH_HOME $SENTENCE_TRANSFORMERS_HOME
31
-
32
- # 7. 复制所有代码到容器 (注意设置所有者为 user)
33
- COPY --chown=user . $HOME/app
34
-
35
- # 8. 暴露端口 7860 (Hugging Face Space 默认端口)
36
- EXPOSE 7860
37
-
38
- # 9. 启动命令
 
39
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # 1. 使用官方 Python 3.9 镜像
2
+ FROM python:3.9
3
+
4
+ # 2. 设置工作目录
5
+ WORKDIR /app
6
+
7
+ # 3. 安装系统级依赖
8
+ # === 修改点:把 libgl1-mesa-glx 换成了 libgl1 和 libglib2.0-0 ===
9
+ RUN apt-get update && apt-get install -y \
10
+ libgl1 \
11
+ libglib2.0-0 \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # 4. 复制依赖清单并安装
15
+ COPY requirements.txt .
16
+ # 推荐使用 opencv-python-headless
17
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
18
+
19
+ # 5. 创建非 root 用户 (Hugging Face 安全要求)
20
+ RUN useradd -m -u 1000 user
21
+ USER user
22
+ ENV HOME=/home/user \
23
+ PATH=/home/user/.local/bin:$PATH
24
+
25
+ # 6. 设置 EasyOCR 和 HuggingFace 的模型缓存目录
26
+ ENV EASYOCR_MODULE_PATH=$HOME/app/easyocr_models
27
+ ENV TORCH_HOME=$HOME/app/torch_cache
28
+ ENV SENTENCE_TRANSFORMERS_HOME=$HOME/app/st_cache
29
+
30
+ # 创建目录
31
+ RUN mkdir -p $EASYOCR_MODULE_PATH $TORCH_HOME $SENTENCE_TRANSFORMERS_HOME
32
+
33
+ # 7. 复制所有代码
34
+ COPY --chown=user . $HOME/app
35
+
36
+ # 8. 暴露端口
37
+ EXPOSE 7860
38
+
39
+ # 9. 启动命令
40
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]