kuanya commited on
Commit
30d7ef4
·
verified ·
1 Parent(s): 46d1d85

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +28 -15
Dockerfile CHANGED
@@ -1,37 +1,50 @@
1
  # 使用带有CUDA的基础镜像
2
  FROM nvcr.io/nvidia/pytorch:23.10-py3
3
 
 
 
 
 
 
 
 
 
 
 
 
4
  # 设置工作目录
5
  WORKDIR /app
6
 
7
  # 安装系统依赖
8
- RUN apt-get update && apt-get install -y \
9
  git \
10
  libgl1-mesa-glx \
11
  libglib2.0-0 \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
- # 复制项目文件
 
 
 
15
  COPY requirements.txt .
16
- COPY app.py .
17
 
18
- # 安装Python依赖
19
- RUN pip install --no-cache-dir -U pip && \
20
- pip install --no-cache-dir -r requirements.txt
 
21
 
22
- # 设置环境变量
23
- ENV PYTHONUNBUFFERED=1 \
24
- PYTHONPATH=/app \
25
- HUGGINGFACE_HUB_CACHE=/app/cache \
26
- HF_HOME=/app/cache \
27
- HF_HUB_ENABLE_HF_TRANSFER=1 \
28
- PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512
29
 
30
- # 创建缓存目录
31
- RUN mkdir -p /app/cache
32
 
33
  # 暴露端口
34
  EXPOSE 7860
35
 
 
 
 
 
36
  # 启动命令
37
  CMD ["python", "app.py"]
 
1
  # 使用带有CUDA的基础镜像
2
  FROM nvcr.io/nvidia/pytorch:23.10-py3
3
 
4
+ # 设置环境变量(提前设置以利用Docker的层缓存)
5
+ ENV DEBIAN_FRONTEND=noninteractive \
6
+ PYTHONUNBUFFERED=1 \
7
+ PYTHONPATH=/app \
8
+ HUGGINGFACE_HUB_CACHE=/app/cache \
9
+ HF_HOME=/app/cache \
10
+ HF_HUB_ENABLE_HF_TRANSFER=1 \
11
+ PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 \
12
+ TORCH_CUDA_ARCH_LIST="7.5 8.0 8.6+PTX" \
13
+ FORCE_CUDA="1"
14
+
15
  # 设置工作目录
16
  WORKDIR /app
17
 
18
  # 安装系统依赖
19
+ RUN apt-get update && apt-get install -y --no-install-recommends \
20
  git \
21
  libgl1-mesa-glx \
22
  libglib2.0-0 \
23
  && rm -rf /var/lib/apt/lists/*
24
 
25
+ # 创建缓存目录
26
+ RUN mkdir -p /app/cache
27
+
28
+ # 复制项目文件(分步复制以利用Docker缓存)
29
  COPY requirements.txt .
 
30
 
31
+ # 安装Python依赖(分步安装以利用缓存)
32
+ RUN pip install --no-cache-dir -U pip setuptools wheel && \
33
+ pip install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/cu118 && \
34
+ pip install --no-cache-dir xformers --index-url https://download.pytorch.org/whl/cu118
35
 
36
+ # 安装其他依赖
37
+ RUN pip install --no-cache-dir -r requirements.txt
 
 
 
 
 
38
 
39
+ # 复制应用代码
40
+ COPY app.py .
41
 
42
  # 暴露端口
43
  EXPOSE 7860
44
 
45
+ # 健康检查
46
+ HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
47
+ CMD curl -f http://localhost:7860 || exit 1
48
+
49
  # 启动命令
50
  CMD ["python", "app.py"]