Files
SaleShow/Dockerfile
T
houhuan 975f9e5887 优化: Docker 环境下的下载性能和网络稳定性
- Chromium 启动参数优化:禁用 dev-shm 和 GPU 加速,防止Docker内存不足
- 增加所有超时时间:login/navigate/export 超时 30s,下载超时 300s
- 改进网络延迟处理:增加数据加载等待时间,添加网络加载检测
- Docker Compose 资源配置:限制 2 CPU / 2GB 内存,DNS 配置国际公共 DNS
- Dockerfile 优化:添加 PYTHONHASHSEED 环境变量,跳过浏览器下载校验
- 新增 docker-debug.sh 脚本:便捷测试 Docker 容器中的下载功能
- 新增 .dockerignore:加速 Docker 构建,减少镜像大小

Docker 下载现在支持更长的网络延迟和更大的数据量
2026-05-17 16:09:55 +08:00

59 lines
1.4 KiB
Docker

# 使用官方 Python 运行时作为父镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 设置环境变量
# 防止 Python 生成 .pyc 文件
ENV PYTHONDONTWRITEBYTECODE=1
# 确保 Python 输出不被缓冲
ENV PYTHONUNBUFFERED=1
# 禁用 Python 的硬件指令集检查,提高Chromium兼容性
ENV PYTHONHASHSEED=0
# 安装 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 \
dnsmasq \
&& 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_SKIP_BROWSER_DOWNLOAD=0 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"]