title: Docker部署Python爬蟲項目
Docker部署Python爬蟲項目
1) 首先安裝docker:
# 用 yum 安裝並啟動
yum install docker -y && systemctl start docker
2) 下載自定義鏡像需要用到的基礎鏡像:
# 這里以centos7為例
docker pull centos:centos7
3) 基礎鏡像已經准備好了,接下來准備好需要部署的環境服務,以及python項目:
### 創建 dockerfile 文件
mkdir dockerfile && cd dockerfile
### 下載 python(這里以3.7為例)
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
### 將 python 項目復制到此目錄
cp ~/test.py .
### 以及 python 項目的依賴庫
cp ~/requirements.txt .
4) 需要自定義docker鏡像的大致內容准備好了,接下來編寫dockerfile:
vim Dockerfile
### 以centos:centos7來作為基礎鏡像
FROM centos:centos7
### 下載編譯需要用到的軟件
RUN yum install -y gcc gcc-c++ autoconf automake libtool make zlib* libffi-devel
### 將dockerfile目錄下的python-3.7.3.tgz復制到docker容器內
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
### 創建工作目錄
RUN mkdir /spider
### 將python項目復制到 /spider工作目錄下
ADD test.py /spider
ADD requirements.txt /spider
### 設置 /spider 為工作目錄
WORKDIR /spider
### 下載 python 項目的依賴庫
RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mi rrors.aliyun.com -r requirements.txt
### 在創建個爬取的數據存放的目錄,這個需要根據自己代碼里面設置的目錄來創建,例如:
VOLUME /data
### 最后一步,運行docker鏡像時運行自己的python項目
### 可以多個參數: CMD ["python3","a","main.py"]
CMD ["python3","test.py"]
5) 接下來構建鏡像:(就在此目錄下運行)
### docker build -t 鏡像名:版本號 鏡像名:版本號 均為自定義 別忘了末尾的點“.”
docker build -t pythonspider:v1 .
6) 運行鏡像:
### 通過 docker images命令就可以看到剛剛創建的鏡像
docker images
### 運行
docker run -d --name spider -v /data:/data pythonspider:v1
### -d為后台運行,--name 后面設置容器名,-v 是目錄共享,主機目錄和docker容器內目錄共享。創建dockerfile的時候,有這一句 VOLUME /data 就是作為共享目錄使用的,“:”前的目錄為主機目錄,后面的目錄為容器內目錄。。。 最后一個參數 pythonspider:v1 鏡像名
cd /data
### 到此目錄下你就會看到產生的數據