diff --git a/docker/crawler/Dockerfile b/docker/crawler/Dockerfile index 93883fd..19ee865 100644 --- a/docker/crawler/Dockerfile +++ b/docker/crawler/Dockerfile @@ -3,6 +3,7 @@ FROM python:3.11-slim-bookworm ENV TZ=Asia/Shanghai \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ + PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \ DQD_CONFIG_PATH=/app/config/settings.yaml \ DQD_TASKS_FILE=/app/config/crawler_tasks.yaml \ DQD_LOCK_DIR=/app/data/locks @@ -22,8 +23,10 @@ RUN apt-get update \ COPY requirements.txt /app/requirements.txt RUN python -m pip install --upgrade pip setuptools wheel \ - && python -m pip install -r /app/requirements.txt \ - && python -m playwright install --with-deps chromium + && python -m pip install -r /app/requirements.txt + +# API 型采集任务不依赖 Chromium。浏览器型采集需要时再在镜像内单独安装, +# 避免本地首次构建因浏览器下载通道不可达而阻塞整个调度器。 COPY . /app diff --git a/docs/业务进度管理.md b/docs/业务进度管理.md index 7ae75aa..46f15cc 100644 --- a/docs/业务进度管理.md +++ b/docs/业务进度管理.md @@ -54,6 +54,7 @@ - 本地默认端口为 MySQL `3307`、Redis `6379`,均可通过 Compose 环境变量覆盖。 - 本地 `server/.env` 已切换为 Docker 网络内的 `mysql:3306` 与 `redis:6379`;该私有环境文件不入库、不影响测试服配置。 - 新增独立 `scheduler` 服务,每分钟执行一次 `php think crontab`;PHP-FPM 与定时任务进程保持隔离。`crawler` 类任务由命令自身跳过,仍应使用独立 crawler 容器调度。 +- 本地 crawler 私有环境文件 `docker/.env.docker` 已改为连接宿主机的 MySQL `3307` 与 Redis `6379`;crawler 镜像首次构建改为不强制下载 Chromium,以避免浏览器下载阻塞 API 型采集任务启动。当前镜像构建仍受 Docker 镜像网络连接阻塞,待网络恢复后执行 `docker compose -f docker/docker-compose.crawler.yml build crawler` 并启动服务。 - server 通过 Nginx 暴露在 `http://localhost:8000`,管理端与 H5 分别使用项目现有端口 `5176`、`5177`;H5 本地开发 API 地址同步为 `http://localhost:8000`。 - 已完成容器启动与 HTTP 访问验证,三个入口均可正常响应。