接我上篇博客,爲爬蟲引用建立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
篩選出女性,並按關注的人絲數降序排列