55 lines
1.2 KiB
Docker
55 lines
1.2 KiB
Docker
# 使用官方 Python 运行时作为父镜像
|
|
FROM python:3.9-slim
|
|
|
|
# 设置工作目录
|
|
WORKDIR /app
|
|
|
|
# 设置环境变量
|
|
# 防止 Python 生成 .pyc 文件
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
# 确保 Python 输出不被缓冲
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
# 安装 Playwright 所需的系统依赖
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
wget \
|
|
ca-certificates \
|
|
fonts-liberation \
|
|
libasound2 \
|
|
libatk-bridge2.0-0 \
|
|
libatk1.0-0 \
|
|
libcups2 \
|
|
libdbus-1-3 \
|
|
libdrm2 \
|
|
libgbm1 \
|
|
libgtk-3-0 \
|
|
libnspr4 \
|
|
libnss3 \
|
|
libxcomposite1 \
|
|
libxdamage1 \
|
|
libxrandr2 \
|
|
xdg-utils \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 复制依赖文件
|
|
COPY requirements.txt .
|
|
|
|
# 安装 Python 依赖
|
|
# 使用阿里云镜像源加速
|
|
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
|
|
|
# 安装 Playwright Chromium 浏览器
|
|
RUN playwright install --with-deps chromium
|
|
|
|
# 复制当前目录内容到容器中的 /app
|
|
COPY . .
|
|
|
|
# 创建上传目录和数据目录(确保权限)
|
|
RUN mkdir -p uploads data downloads && chmod 777 uploads data downloads
|
|
|
|
# 暴露端口 5000
|
|
EXPOSE 5000
|
|
|
|
# 运行 app.py
|
|
CMD ["python", "app.py"]
|