Docker部署Python爬蟲(chóng)項(xiàng)目的方法步驟
1) 首先安裝docker:
# 用 yum 安裝并啟動(dòng) yum install docker -y && systemctl start docker
2) 下載自定義鏡像需要用到的基礎(chǔ)鏡像:
# 這里以centos7為例 docker pull centos:centos7
3) 基礎(chǔ)鏡像已經(jīng)準(zhǔn)備好了,接下來(lái)準(zhǔn)備好需要部署的環(huán)境服務(wù),以及python項(xiàng)目:
### 創(chuàng)建 dockerfile 文件 mkdir dockerfile && cd dockerfile ### 下載 python(這里以3.7為例) wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz ### 將 python 項(xiàng)目復(fù)制到此目錄 cp ~/test.py . ### 以及 python 項(xiàng)目的依賴庫(kù) cp ~/requirements.txt .
4) 需要自定義docker鏡像的大致內(nèi)容準(zhǔn)備好了,接下來(lái)編寫(xiě)dockerfile:
vim Dockerfile ### 以centos:centos7來(lái)作為基礎(chǔ)鏡像 FROM centos:centos7 ### 下載編譯需要用到的軟件 RUN yum install -y gcc gcc-c++ autoconf automake libtool make zlib* libffi-devel ### 將dockerfile目錄下的python-3.7.3.tgz復(fù)制到docker容器內(nèi) COPY Python-3.7.3.tgz /usr/local/src ### 編譯安裝 python WORKDIR /usr/local/src RUN tar -xf Python-3.7.3.tgz WORKDIR Python-3.7.3 RUN ./configure --prefix=/usr/local/python37 && make && make install ENV PATH /usr/local/python37/bin:$PATH ### 創(chuàng)建工作目錄 RUN mkdir /spider ### 將python項(xiàng)目復(fù)制到 /spider工作目錄下 ADD test.py /spider ADD requirements.txt /spider ### 設(shè)置 /spider 為工作目錄 WORKDIR /spider ### 下載 python 項(xiàng)目的依賴庫(kù) RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt ### 在創(chuàng)建個(gè)爬取的數(shù)據(jù)存放的目錄,這個(gè)需要根據(jù)自己代碼里面設(shè)置的目錄來(lái)創(chuàng)建,例如: VOLUME /data ### 最后一步,運(yùn)行docker鏡像時(shí)運(yùn)行自己的python項(xiàng)目 ### 可以多個(gè)參數(shù): CMD ["python3","a","main.py"] CMD ["python3","test.py"]
5) 接下來(lái)構(gòu)建鏡像:(就在此目錄下運(yùn)行)
### docker build -t 鏡像名:版本號(hào) 鏡像名:版本號(hào) 均為自定義 別忘了末尾的點(diǎn)“.” docker build -t pythonspider:v1 .
6) 運(yùn)行鏡像:
### 通過(guò) docker images命令就可以看到剛剛創(chuàng)建的鏡像 docker images ### 運(yùn)行 docker run -d --name spider -v /data:/data pythonspider:v1 ### -d為后臺(tái)運(yùn)行,--name 后面設(shè)置容器名,-v 是目錄共享,主機(jī)目錄和docker容器內(nèi)目錄共享。創(chuàng)建dockerfile的時(shí)候,有這一句 VOLUME /data 就是作為共享目錄使用的,“:”前的目錄為主機(jī)目錄,后面的目錄為容器內(nèi)目錄。。。 最后一個(gè)參數(shù) pythonspider:v1 鏡像名 cd /data ### 到此目錄下你就會(huì)看到產(chǎn)生的數(shù)據(jù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
把MySQL表結(jié)構(gòu)映射為Python中的對(duì)象的教程
這篇文章主要介紹了簡(jiǎn)單地把MySQL表結(jié)構(gòu)映射為Python中的對(duì)象的方法,用到了Python中的SQLAlchemy庫(kù),需要的朋友可以參考下2015-04-04利用Python正則表達(dá)式過(guò)濾敏感詞的方法
今天小編就為大家分享一篇利用Python正則表達(dá)式過(guò)濾敏感詞的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11python+opencv實(shí)現(xiàn)視頻抽幀示例代碼
下面是采用以幀數(shù)為間隔的方法進(jìn)行視頻抽幀,為了避免不符合項(xiàng)目要求的數(shù)據(jù)增強(qiáng),博主要求技術(shù)人員在錄制視頻時(shí)最大程度地讓攝像頭進(jìn)行移動(dòng)、旋轉(zhuǎn)以及遠(yuǎn)近調(diào)節(jié)等,對(duì)python opencv視頻抽幀示例代碼感興趣的朋友一起看看吧2021-06-06零基礎(chǔ)寫(xiě)python爬蟲(chóng)之urllib2中的兩個(gè)重要概念:Openers和Handlers
文章首先介紹了urllib2的2個(gè)方法,然后詳細(xì)介紹了urllib2中的2個(gè)重要概念Openers和Handlers的相關(guān)知識(shí),希望能對(duì)大家有所幫助2014-11-11Python實(shí)現(xiàn)比較兩個(gè)列表(list)范圍
這篇文章主要介紹了Python實(shí)現(xiàn)比較兩個(gè)列表(list)范圍,本文根據(jù)一道題目實(shí)現(xiàn)解決代碼,本文分別給出題目和解答源碼,需要的朋友可以參考下2015-06-06