服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - Docker 部署Scrapy的详解

Docker 部署Scrapy的详解

2021-02-24 16:33瓦力 服务器知识

这篇文章主要介绍了Docker 部署Scrapy的详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

假设我们要在10台Ubuntu 部署爬虫如何搞之?用传统的方法会吐血的,除非你记录下来每个步骤,然后步骤之间的次序还完全一样,这样才行。但是这样还是累啊,个别软件下载又需要时间。所以Docker出现了。Docker把系统,各种需要的应用,还有设置编译成一个image,然后 run一下就可以了。跟虚拟机的区别是不需要而外的物理支持,共用的。

1. 部署步骤

1.1 上传本地scrapy爬虫代码除了settings外到git 服务器

1.2 编写Dockerfile文件,把settings和requirements.txt 也拷贝到image里,一起打包成一个image

Dockerfile内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FROM ubuntu
RUN apt-get update
RUN apt-get install -y git
RUN apt-get install -y nano
RUN apt-get install -y redis-server 
RUN apt-get -y dist-upgrade
RUN apt-get install -y openssh-server
RUN apt-get install -y python3.5 python3-pip
RUN apt-get install -y zlib1g-dev libffi-dev libssl-dev
RUN apt-get install -y libxml2-dev libxslt1-dev
RUN mkdir /code
WORKDIR /code
ADD ./requirements.txt /code/
ADD ./settings.py /code/
RUN mkdir /code/myspider
RUN pip3 install -r requirements.txt
VOLUME [ "/data" ]

requirements.txt 内容:

?
1
2
3
4
5
6
7
8
BeautifulSoup4
scrapy
setuptools
scrapy_redis
redis
sqlalchemy
pymysql
pillow

整个目录结构:

Docker 部署Scrapy的详解

?
1
docker build -t fox6419/scrapy:scrapyTag .

fox6419是用户名,scrapyTag是tag

成功后,执行docker images可以在本地看到image

1.3 打包的image 上传到docker hub中

?
1
docker push username/repository:tag

push的命令格式是这样的,我这边就是:

?
1
docker push fox6419/scrapy:scrapyTag

1.4 在DigitalOcean这种主机商创建带docker应用的Ubuntu 16.04版本

1.5 登陆docker,拉下1.3的image,然后run起来

?
1
docker run -it fox6419/scrapy:scrapyTag /bin/bash

1.6 命令进去后,git clone 1.1中的爬虫,然后复制images里的settings到爬虫目录,然后执行scrapy crawl xxx即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.waitingfy.com/archives/3249

延伸 · 阅读

精彩推荐