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 --restart=always -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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2018-06-30 Django-ROM(字段,参数)
2018-06-30 Django-模板的继承(母版,include)
2018-06-30 Django-自定义标签,过滤器