jxdn123 commited on
Commit
dcfda29
·
verified ·
1 Parent(s): 9df6a18

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +28 -10
Dockerfile CHANGED
@@ -1,17 +1,35 @@
1
- # 使用官方 ARM Python 运行时作为父镜像
2
  FROM python:3.10-slim
3
 
4
- # 设置工作目录
5
- WORKDIR /app
 
 
 
 
 
 
 
 
6
 
7
- # 将当前目录内容复制到容器的 /app
8
- COPY . /app
 
 
 
 
 
 
 
 
9
 
10
  # 安装依赖
11
- RUN pip install --no-cache-dir -r requirements.txt
12
 
13
- # 让端口 8001 可供此容器外的环境使用
14
- EXPOSE 8001
 
15
 
16
- # 运行 app.py
17
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8001"]
 
 
1
+ # Python 3.10 精简镜像
2
  FROM python:3.10-slim
3
 
4
+ # 基础环境
5
+ ENV PYTHONDONTWRITEBYTECODE=1 \
6
+ PYTHONUNBUFFERED=1 \
7
+ PIP_NO_CACHE_DIR=1 \
8
+ PORT=7860
9
+
10
+ # 安装构建必需工具(git等)
11
+ RUN apt-get update && apt-get install -y --no-install-recommends \
12
+ git build-essential ca-certificates curl \
13
+ && rm -rf /var/lib/apt/lists/*
14
 
15
+ # 拉取源码(固定到你的日志里的 commit,可改成 main 跟随主分支)
16
+ ARG REPO_URL=https://github.com/snailyp/zai-proxy.git
17
+ ARG REPO_REF=main
18
+
19
+ WORKDIR /app
20
+ # 用“裸仓库+浅抓取”的方式拉指定提交,避免 --branch 不能用在 commit 上的问题
21
+ RUN git init \
22
+ && git remote add origin ${REPO_URL} \
23
+ && git fetch --depth 1 origin ${REPO_REF} \
24
+ && git checkout --detach FETCH_HEAD
25
 
26
  # 安装依赖
27
+ RUN pip install --upgrade pip && pip install -r requirements.txt
28
 
29
+ # (可选)创建非 root 用户
30
+ RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
31
+ USER appuser
32
 
33
+ # HF 会注入 $PORT,未注入时回退到 8001 便于本地调试
34
+ EXPOSE 7860
35
+ CMD ["bash", "-lc", "uvicorn main:app --host 0.0.0.0 --port ${PORT:-8001}"]