Forrest99 commited on
Commit
0a5b8ec
·
verified ·
1 Parent(s): 7c08c7b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -8
Dockerfile CHANGED
@@ -1,17 +1,18 @@
 
1
  FROM python:3.10-slim
2
 
3
  # 设置环境变量
4
- ENV TRANSFORMERS_CACHE=/model-cache \
5
  PYTHONUNBUFFERED=1 \
6
- PATH="/home/appuser/.local/bin:${PATH}"
7
 
8
  # 安装系统依赖
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends gcc python3-dev && \
11
  rm -rf /var/lib/apt/lists/*
12
 
13
- # 创建用户和缓存目录
14
- RUN adduser --disabled-password --gecos "" appuser && \
15
  mkdir -p /model-cache && \
16
  chown -R appuser:appuser /model-cache
17
 
@@ -19,13 +20,19 @@ RUN adduser --disabled-password --gecos "" appuser && \
19
  USER appuser
20
  WORKDIR /app
21
 
22
- # 安装Python依赖
23
  COPY requirements.txt .
 
 
24
  RUN pip install --no-cache-dir --upgrade pip && \
25
- pip install --no-cache-dir -r requirements.txt
 
26
 
27
  # 复制应用代码
28
  COPY app.py .
29
 
30
- EXPOSE 8080
31
- CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--timeout", "120", "app:app"]
 
 
 
 
1
+ # 使用Python官方镜像
2
  FROM python:3.10-slim
3
 
4
  # 设置环境变量
5
+ ENV HF_HOME=/model-cache \
6
  PYTHONUNBUFFERED=1 \
7
+ PORT=7860 # Hugging Face强制使用7860端口
8
 
9
  # 安装系统依赖
10
  RUN apt-get update && \
11
  apt-get install -y --no-install-recommends gcc python3-dev && \
12
  rm -rf /var/lib/apt/lists/*
13
 
14
+ # 创建非root用户
15
+ RUN useradd -m appuser && \
16
  mkdir -p /model-cache && \
17
  chown -R appuser:appuser /model-cache
18
 
 
20
  USER appuser
21
  WORKDIR /app
22
 
23
+ # 复制依赖文件
24
  COPY requirements.txt .
25
+
26
+ # 安装依赖并预下载模型
27
  RUN pip install --no-cache-dir --upgrade pip && \
28
+ pip install --no-cache-dir -r requirements.txt && \
29
+ python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('flax-sentence-embeddings/st-codesearch-distilroberta-base')"
30
 
31
  # 复制应用代码
32
  COPY app.py .
33
 
34
+ # 暴露Hugging Face强制端口
35
+ EXPOSE 7860
36
+
37
+ # 启动命令(必须使用7860端口)
38
+ CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--timeout", "600", "app:app"]