接我上篇博客,为爬虫引用建立container,包括的模块:scrapy, mongo, celery, rabbitmq,链接https://github.com/LiuRoy/spider_dockerpython
进入spider_docker目录,执行命令:git
docker build --rm -t zhihu_spider src/
github
运行完成后,执行docker iamges
就能够看到生成的imagedocker
在另外一个项目zhihu_spider中有一个docker-compose.yml文件,能够参考配置:bash
dev: image: zhihu_spider volumes: - ./:/zhihu_spider - ../data:/data/db ports: - "20000:27017" - "20001:15672" privileged: true tty: true stdin_open: true restart: always
以zhihu_spider为例,进入最上层目录后,执行docker-compose up
命令。 异步
zhihu_spider目录映射为docker中的/zhihu_spider,zhihu_spider统计目录data映射为/data/db用做mongo的数据存储。container中的mongo范文端口映射到本机的20000,rabbitmq映射为本地的20001端口。scrapy
执行命令docker exec -it zhihuspider_dev_1 /bin/bash
便可进入bash。async
编辑/etc/mongod.conf文件,将绑定ip地址从127.0.0.0改成0.0.0.0,并重启mongod进程。k执行下面命令重启mongo服务ide
mongod --shutdown mongod --config /etc/mongod.config
若是要在本机访问container中的数据,链接配置以下: ui
ip和port为映射后的ip和port。
启动命令以下,访问方式同mongo
rabbitmq-plugins enable rabbitmq_management rabbitmq-server &
celery -A zhihu.tools.async worker --loglevel=info
python main.py
筛选出女性,并按关注的人丝数降序排列