brucever commited on
Commit
2471c51
·
verified ·
1 Parent(s): 1c6a1d1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -28
Dockerfile CHANGED
@@ -3,47 +3,28 @@ FROM python:3.9
3
  # 1. 创建用户
4
  RUN useradd -m -u 1000 user
5
 
6
- # 2. 切换 root 安装依赖 (增加了 libgbm1, libasound2 等 Chrome 必缺的库)
 
7
  USER root
8
  RUN apt-get update && apt-get install -y \
9
- wget \
10
- unzip \
11
- ca-certificates \
12
  libnss3 \
13
  libgconf-2-4 \
14
  libfontconfig1 \
15
- libgbm1 \
16
- libasound2 \
17
- libappindicator3-1 \
18
- libatk-bridge2.0-0 \
19
- libgtk-3-0 \
20
  && rm -rf /var/lib/apt/lists/*
21
 
22
- # 3. 【核心】手动下载 Chrome for Testing (版本 121.0.6167.85)
23
- # 这样保证浏览器和驱动版本 100% 匹配
24
- WORKDIR /opt
25
- RUN wget https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.85/linux64/chrome-linux64.zip
26
- RUN unzip chrome-linux64.zip && rm chrome-linux64.zip
27
-
28
- # 4. 【核心】手动下载对应的 Chromedriver
29
- RUN wget https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.85/linux64/chromedriver-linux64.zip
30
- RUN unzip chromedriver-linux64.zip && rm chromedriver-linux64.zip
31
-
32
- # 5. 给执行权限
33
- RUN chmod +x /opt/chrome-linux64/chrome
34
- RUN chmod +x /opt/chromedriver-linux64/chromedriver
35
-
36
- # 6. 切回普通用户环境
37
  USER user
38
  ENV PATH="/home/user/.local/bin:$PATH"
39
 
40
  WORKDIR /app
41
 
42
- # 7. 安装 Python
43
- RUN pip install --no-cache-dir --upgrade pip
44
- RUN pip install gradio selenium
45
 
46
- # 8. 复制脚本
47
  COPY --chown=user app.py /app/app.py
48
 
49
  CMD ["python", "app.py"]
 
3
  # 1. 创建用户
4
  RUN useradd -m -u 1000 user
5
 
6
+ # 2. 切换 root 安装系统级 Chromium
7
+ # 这里我们一次性把所有可能的依赖库全装上,防止 127 错误
8
  USER root
9
  RUN apt-get update && apt-get install -y \
10
+ chromium \
11
+ chromium-driver \
 
12
  libnss3 \
13
  libgconf-2-4 \
14
  libfontconfig1 \
 
 
 
 
 
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
+ # 3. 切换回用户
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  USER user
19
  ENV PATH="/home/user/.local/bin:$PATH"
20
 
21
  WORKDIR /app
22
 
23
+ # 4. 安装依赖 (读取刚才修改的 requirements.txt)
24
+ COPY --chown=user requirements.txt /app/requirements.txt
25
+ RUN pip install --no-cache-dir -r requirements.txt
26
 
27
+ # 5. 复制脚本
28
  COPY --chown=user app.py /app/app.py
29
 
30
  CMD ["python", "app.py"]