diff --git a/Dockerfile-base b/Dockerfile-base new file mode 100644 index 0000000..35094c4 --- /dev/null +++ b/Dockerfile-base @@ -0,0 +1,64 @@ +# 指定目标平台 +# syntax=docker/dockerfile:1 +FROM python:3.12-slim + +# 设置工作目录 +WORKDIR /app + +# 安装系统依赖 +RUN apt-get update && apt-get install -y \ + wget \ + gnupg \ + && rm -rf /var/lib/apt/lists/* + +# 安装Playwright的依赖 +RUN apt-get update && apt-get install -y \ + libnss3 \ + libnspr4 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libcups2 \ + libdrm2 \ + libdbus-1-3 \ + libxkbcommon0 \ + libxcomposite1 \ + libxdamage1 \ + libxfixes3 \ + libxrandr2 \ + libgbm1 \ + libasound2 \ + libpango-1.0-0 \ + libpangocairo-1.0-0 \ + && rm -rf /var/lib/apt/lists/* + +# 配置pip源 +RUN mkdir -p /root/.pip && \ + echo "[global]" > /root/.pip/pip.conf && \ + echo "index-url = https://pypi.tuna.tsinghua.edu.cn/simple" >> /root/.pip/pip.conf && \ + echo "trusted-host = pypi.tuna.tsinghua.edu.cn" >> /root/.pip/pip.conf + +# 更新pip +RUN python -m pip install --upgrade pip + +COPY requirements.txt . + +# 安装Python依赖 +RUN pip install --no-cache-dir -r requirements.txt + +# 预先安装 Playwright 的系统依赖 +RUN apt-get update && apt-get install -y \ + xvfb \ + libopengl0 \ + && rm -rf /var/lib/apt/lists/* + +# 安装Playwright浏览器 +RUN playwright install chromium +RUN playwright install-deps + +# 暴露端口 +EXPOSE 8000 + + + +# 启动命令 +CMD ["bash"] \ No newline at end of file