Docker 部署Scrapy的詳解
假設(shè)我們要在10臺(tái)Ubuntu 部署爬蟲(chóng)如何搞之?用傳統(tǒng)的方法會(huì)吐血的,除非你記錄下來(lái)每個(gè)步驟,然后步驟之間的次序還完全一樣,這樣才行。但是這樣還是累啊,個(gè)別軟件下載又需要時(shí)間。所以Docker出現(xiàn)了。Docker把系統(tǒng),各種需要的應(yīng)用,還有設(shè)置編譯成一個(gè)image,然后 run一下就可以了。跟虛擬機(jī)的區(qū)別是不需要而外的物理支持,共用的。
1. 部署步驟
1.1 上傳本地scrapy爬蟲(chóng)代碼除了settings外到git 服務(wù)器
1.2 編寫(xiě)Dockerfile文件,把settings和requirements.txt 也拷貝到image里,一起打包成一個(gè)image
Dockerfile內(nèi)容:
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 內(nèi)容:
BeautifulSoup4 scrapy setuptools scrapy_redis redis sqlalchemy pymysql pillow
整個(gè)目錄結(jié)構(gòu):
docker build -t fox6419/scrapy:scrapyTag .
fox6419是用戶名,scrapyTag是tag
成功后,執(zhí)行docker images可以在本地看到image
1.3 打包的image 上傳到docker hub中
docker push username/repository:tag
push的命令格式是這樣的,我這邊就是:
docker push fox6419/scrapy:scrapyTag
1.4 在DigitalOcean這種主機(jī)商創(chuàng)建帶docker應(yīng)用的Ubuntu 16.04版本
1.5 登陸docker,拉下1.3的image,然后run起來(lái)
docker run -it fox6419/scrapy:scrapyTag /bin/bash
1.6 命令進(jìn)去后,git clone 1.1中的爬蟲(chóng),然后復(fù)制images里的settings到爬蟲(chóng)目錄,然后執(zhí)行scrapy crawl xxx即可
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- windows10系統(tǒng)中安裝python3.x+scrapy教程
- python使用scrapy發(fā)送post請(qǐng)求的坑
- Python爬蟲(chóng)框架scrapy實(shí)現(xiàn)downloader_middleware設(shè)置proxy代理功能示例
- Python爬蟲(chóng)框架scrapy實(shí)現(xiàn)的文件下載功能示例
- Python爬蟲(chóng)框架Scrapy常用命令總結(jié)
- 詳解Python安裝scrapy的正確姿勢(shì)
- Scrapy基于selenium結(jié)合爬取淘寶的實(shí)例講解
- 利用Anaconda簡(jiǎn)單安裝scrapy框架的方法
- 基于scrapy的redis安裝和配置方法
- mac下給python3安裝requests庫(kù)和scrapy庫(kù)的實(shí)例
- 利用scrapy將爬到的數(shù)據(jù)保存到mysql(防止重復(fù))
- Centos7 Python3下安裝scrapy的詳細(xì)步驟
- Windows下安裝Scrapy
相關(guān)文章
查看docker是否處于啟動(dòng)狀態(tài)的方法詳解
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,本文主要給大家介紹了查看docker是否處于啟動(dòng)狀態(tài)的方法,需要的朋友可以參考下2024-06-06Docker 給運(yùn)行中的容器設(shè)置端口映射的方法
這篇文章主要介紹了Docker 給運(yùn)行中的容器設(shè)置端口映射的方法,詳細(xì)的介紹了端口映射的概念和方法,具體一定的參考價(jià)值,有興趣的可以了解一下2017-11-11docker利用WebHook實(shí)現(xiàn)持續(xù)集成
這篇文章主要介紹了docker利用WebHook實(shí)現(xiàn)持續(xù)集成的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01基于CentOS8系統(tǒng)使用Docker搭建Gitlab的詳細(xì)教程
這篇文章主要介紹了基于CentOS8系統(tǒng)使用Docker搭建Gitlab教程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10docker-compose啟動(dòng)服務(wù)方式
這篇文章主要介紹了docker-compose啟動(dòng)服務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05