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)文章
python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法
今天小編就為大家分享一篇python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python中實(shí)現(xiàn)輸入超時(shí)及如何通過(guò)變量獲取變量名
這篇文章主要介紹了Python中實(shí)現(xiàn)輸入超時(shí)以及通過(guò)變量獲取變量的名字,本文給大家分享了解決思路主要是通過(guò)多線程法實(shí)現(xiàn),需要的朋友可以參考下2020-01-01
pyspark?dataframe列的合并與拆分實(shí)例
這篇文章主要介紹了pyspark?dataframe列的合并與拆分實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Python操作Mongodb數(shù)據(jù)庫(kù)的方法小結(jié)
這篇文章主要介紹了Python操作Mongodb數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)MongoDB數(shù)據(jù)庫(kù)的基本模塊導(dǎo)入、連接、增刪改查及排序等相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
用python3 urllib破解有道翻譯反爬蟲(chóng)機(jī)制詳解
這篇文章主要介紹了python破解網(wǎng)易反爬蟲(chóng)機(jī)制詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

