scrapinghub-stack-scrapy 是一个包含最新 Scrapy 框架及更新依赖项的软件栈镜像,旨在为 Scrapy 爬虫开发和运行提供稳定、统一的环境。该镜像通过分支和标签管理,支持不同 Python 版本(2 和 3)及 Scrapy 版本的组合,确保用户可按需选择适配的运行环境。
仓库通过分支维护不同 Python 版本和 Scrapy 版本的软件栈,分支命名规则为 branch-<scrapy版本>[-py3],其中:
-py3 后缀:基于 Python 2 的分支-py3 后缀:基于 Python 3 的分支示例:
branch-1.0:Python 2 + Scrapy 1.0branch-1.1:Python 2 + Scrapy 1.1branch-1.1-py3:Python 3 + Scrapy 1.1使用 Git 标签标记镜像版本,所有标签对应 Docker 镜像可在 https://hub.docker.com/r/scrapinghub/scrapinghub-stack-scrapy/tags/ 查看。标签类型及说明如下:
1. 主版本标签
格式:<scrapy版本>[-py3]
用于标识基于特定 Scrapy 版本和 Python 版本的主版本,无 -py3 后缀表示 Python 2。
示例:
1.0:Python 2 + Scrapy 1.01.1:Python 2 + Scrapy 1.11.1-py3:Python 3 + Scrapy 1.12. 带发布日期的稳定版本标签(推荐)
格式:<scrapy版本>[-py3]-<发布日期>
每个正式发布的稳定版本均带日期标识,强烈推荐使用此类标签,避免版本变更风险。
示例:
1.1-20160429:2016-04-29 发布的 Python 2 + Scrapy 1.1 版本1.1-py3-20160804:2016-08-04 发布的 Python 3 + Scrapy 1.1 版本3. Latest 标签(不推荐)
格式:<scrapy版本>[-py3]-latest
自动从对应分支构建(如 branch-1.1-py3 对应 1.1-py3-latest),反映分支最新变更,可能不稳定,禁止在生产环境使用。
示例:
1.0-latest(对应 branch-1.0)1.1-py3-latest(对应 branch-1.1-py3)4. 临时开发标签
格式:<scrapy版本>[-py3]-<特性名称>
用于开发和测试新功能,功能稳定后会被移除,不应依赖此类标签。
示例:1.1-py3-some-feature
从 Docker Hub 拉取指定版本的镜像,推荐使用带发布日期的稳定标签:
bash# 拉取 Python 3 + Scrapy 1.1 稳定版本(2016-08-04发布) docker pull scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804
运行容器时,通常需挂载本地 Scrapy 项目目录,并执行爬虫命令。以下为基本示例:
bash# 假设本地项目目录为 ./my-scrapy-project,运行名为 myspider 的爬虫 docker run -v $(pwd)/my-scrapy-project:/app \ scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804 \ scrapy crawl myspider -s LOG_LEVEL=INFO
说明:
-v $(pwd)/my-scrapy-project:/app:将本地项目目录挂载到容器内 /app 路径scrapy crawl myspider:执行 Scrapy 爬虫命令,可添加额外参数(如 -s 设置配置)对于复杂项目,可使用 docker-compose.yml 管理服务(如需数据库等依赖):
yamlversion: '3' services: scrapy: image: scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804 volumes: - ./my-scrapy-project:/app command: scrapy crawl myspider -s LOG_LEVEL=INFO # 如需网络或环境变量配置,可添加相应字段 # environment: # - PROXY_URL=http://proxy:8080 # network_mode: "host"
运行:docker-compose up
如需发布新版本镜像,需按以下步骤操作:
确保本地分支为待发布分支,并拉取远程最新变更:
bashgit pull origin <branch> # 示例:拉取 Python 3 + Scrapy 1.1 分支 git pull origin branch-1.1-py3
根据版本规则创建标签,包括主版本标签和带日期的稳定版本标签(-latest 标签由分支自动构建,无需手动创建):
bash# 创建主版本标签(如 1.1-py3) git tag -f 1.1-py3 # 创建带日期的稳定版本标签(如 1.1-py3-20160804) git tag 1.1-py3-20160804
同时推送分支更新和标签,触发构建流程:
bashgit push -f origin <branch> <tag1> <tag2> # 示例:推送分支及两个标签 git push -f origin branch-1.1-py3 1.1-py3 1.1-py3-20160804
注意:需确保标签与分支更新同时推送,否则可能无法触发自动构建,需手动在构建平台重新触发。
检查标签是否在以下平台更新:
除 Python 2/3 等不兼容场景外,新功能需同步更新到所有版本分支,确保各版本功能一致性。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务