docker 运行scrpyd

Dockerfile

FROM python:3.7
ADD . /data
WORKDIR /data
RUN pip3 install -r requirements.txt  -i https://pypi.doubanio.com/simple
CMD rm -rf /data/twistd.pid;scrapyd

requirements.txt

requests
scrapy
scrapyd
scrapy-redis
pymysql

生成镜像

docker build -t scrapyd:latest .

创建/data/scrapyd/conf/scrapyd.conf配置文件

[scrapyd]
# 服务监听端口
http_port=6800
# 服务监听ip, 默认是127.0.0.1
bind_address=0.0.0.0
# 启动时的scrapy进程并发数, 如果没有设置或者是0, 则是系统可用的cpu数量乘以`max_proc_per_cpu`的值, 默认是0
max_proc=0
# 每个cpu的scrapy进程并发数,默认是:4
max_proc_per_cpu=32
# 是否开启调试模式, 默认是off, 如果开启, 当调用`JSON API`发生错误时, 会返回详细的错误信息
debug=off
# scrapyd-deploy上传的egg文件的保存路径, 默认是scrapyd运行的当前目录
eggs_dir=/data/scrapyd_data/eggs
# scrapyd运行是的数据库路径, 包括爬虫队列信息
dbs_dir=/data/scrapyd_data/dbs
# Scrapy运行时的日志保存路径, 如果禁用则设置为空
logs_dir=/data/scrapyd_data/logs
# Scrapy运行时产生的item的数据保存路径, 因为一般都是导出或者保存到数据库, 所以这个建议禁用, 默认是禁用状态
items_dir=
# 每个爬虫运行完成后的logs和items数据保存数量, 也就是假设同一个爬虫运行到第六次, 则会删除前5次爬虫产生的数据, 这个配置项之前是`logs_to_keep`
jobs_to_keep=50
# 保存在启动器中的已完成的进程数量
finished_to_keep=200
# 轮训队列的秒数, 也就是多长时间检查一下爬虫队列
poll_interval=1
# 启动子进程的模块
runner= scrapyd.runner
# scrapyd启动的app应用文件
application=scrapyd.app.application
# scrapyd资源跟目录
webroot = scrapyd.website.Root
# 节点的展示名称, 默认是${socket.gethostname()}
# node_name=
launcher    = scrapyd.launcher.Launcher

# 以下是调用接口的url路径和对应的scrapyd类, 熟悉源码可以自己进行开发
[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus

创建/root/scrapyd_data用于存放scrapyd的文件

通过配置文件生成容器

docker run --name scrapyd -p 6800:6800 -m 200M --memory-swap=300M -d -v /etc/localtime:/etc/localtime -v /data/scrapyd/conf:/etc/scrapyd  -v /root/scrapyd_data/:/data/ scrapyd:latest

 

posted on 2021-06-30 22:57  信奉上帝的小和尚  阅读(130)  评论(0编辑  收藏  举报

导航