hins111 commited on
Commit
8b1c907
·
verified ·
1 Parent(s): dc16a8e

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +47 -0
Dockerfile ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用一个包含 Python 和 Debian Buster 的基础镜像
2
+ FROM python:3.9-slim-buster
3
+
4
+ # 设置工作目录
5
+ WORKDIR /app
6
+
7
+ # 安装必要的系统依赖,尤其是 Chromium 及其运行所需的库
8
+ # 这里使用 apt-get 安装 Chromium,如果你需要特定版本或其他浏览器,请调整
9
+ RUN apt-get update && apt-get install -y \
10
+ chromium \
11
+ chromium-driver \
12
+ # 以下是一些常见的浏览器自动化依赖
13
+ libnss3 \
14
+ libnspr4 \
15
+ libatk1.0-0 \
16
+ libatk-bridge2.0-0 \
17
+ libcups2 \
18
+ libdrm-dev \
19
+ libgbm-dev \
20
+ libgtk-3-0 \
21
+ libxkbcommon-x11-0 \
22
+ libxcomposite1 \
23
+ libxdamage1 \
24
+ libxfixes3 \
25
+ libxrandr2 \
26
+ libxtst6 \
27
+ fonts-liberation \
28
+ xdg-utils \
29
+ --no-install-recommends && \
30
+ rm -rf /var/lib/apt/lists/*
31
+
32
+ # 复制 requirements.txt 并安装 Python 依赖
33
+ COPY requirements.txt .
34
+ RUN pip install --no-cache-dir -r requirements.txt
35
+
36
+ # 复制所有项目文件到容器中
37
+ COPY . .
38
+
39
+ # 确保 server.py 监听 0.0.0.0 和一个可配置的端口
40
+ # Hugging Face Spaces 通常会将端口暴露在 PORT 环境变量中
41
+ # 在你的 server.py 中,确保 Flask 应用绑定到 os.environ.get('PORT', 5000)
42
+ # 例如:app.run(host='0.0.0.0', port=os.environ.get('PORT', 5000))
43
+ # 假设你的 server.py 内部已经处理了 PORT 环境变量
44
+ EXPOSE 5000
45
+
46
+ # 定义容器启动时运行的命令
47
+ CMD ["python", "server.py"]