chenjianfei commited on
Commit
7320408
·
1 Parent(s): 20ede3d
Files changed (1) hide show
  1. Dockerfile +16 -13
Dockerfile CHANGED
@@ -1,30 +1,33 @@
1
- # 第一阶段:构建 OpenVoice 环境(锁定 numpy==1.22.0)
2
- FROM python:3.9-slim AS openvoice-builder
3
 
4
- # 安装系统依赖
 
 
 
 
 
5
  RUN apt-get update && apt-get install -y \
6
  ffmpeg libsndfile1 git \
7
- && rm -rf /var/lib/apt/lists/*
8
 
9
- # 强制安装 numpy==1.22.0 并构建 OpenVoice
10
  WORKDIR /app
11
  COPY OpenVoice/ ./OpenVoice
12
  RUN pip install numpy==1.22.0 && \
13
  pip install -e ./OpenVoice
14
 
15
 
16
- # 第二阶段:构建主程序环境(允许 numpy>=2.0.0)
17
- FROM python:3.9-slim AS main-app
 
 
 
18
 
19
- # 安装主程序依赖(隔离于 OpenVoice 的环境)
20
  WORKDIR /app
21
  COPY requirements.txt .
22
  RUN pip install --no-cache-dir -r requirements.txt
23
 
24
- # 从第一阶段复制已编译的 OpenVoice 和兼容库
25
- COPY --from=openvoice-builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages
26
- COPY --from=openvoice-builder /app/OpenVoice /app/OpenVoice
27
-
28
- # 暴露端口并启动
29
  EXPOSE 7860
30
  CMD ["python", "app.py"]
 
1
+ # 第一阶段:强制安装完整依赖链
2
+ FROM python:3.9-slim AS builder
3
 
4
+ # 1. 更新CA证书并安装系统工具
5
+ RUN apt-get update && apt-get install -y \
6
+ ca-certificates \ # 修复HTTPS证书问题
7
+ && rm -rf /var/lib/apt/lists/*
8
+
9
+ # 2. 安装核心依赖(包含git)
10
  RUN apt-get update && apt-get install -y \
11
  ffmpeg libsndfile1 git \
12
+ && rm -rf /var/lib/apt/lists/*
13
 
14
+ # 3. 构建OpenVoice(此时git已可用)
15
  WORKDIR /app
16
  COPY OpenVoice/ ./OpenVoice
17
  RUN pip install numpy==1.22.0 && \
18
  pip install -e ./OpenVoice
19
 
20
 
21
+ # 第二阶段:继承所有依赖
22
+ FROM python:3.9-slim
23
+ COPY --from=builder /usr/bin/git /usr/bin/git # 显式复制git二进制文件
24
+ COPY --from=builder /app/OpenVoice /app/OpenVoice
25
+ COPY --from=builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages
26
 
27
+ # 安装主程序依赖
28
  WORKDIR /app
29
  COPY requirements.txt .
30
  RUN pip install --no-cache-dir -r requirements.txt
31
 
 
 
 
 
 
32
  EXPOSE 7860
33
  CMD ["python", "app.py"]