1) 首先安裝docker:html
# 用 yum 安裝並啓動 yum install docker -y && systemctl start docker
2) 下載自定義鏡像須要用到的基礎鏡像:python
# 這裏以centos7爲例 docker pull centos:centos7
3) 基礎鏡像已經準備好了,接下來準備好須要部署的環境服務,以及python項目:c++
### 建立 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:docker
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) 接下來構建鏡像:(就在此目錄下運行)shell
### docker build -t 鏡像名:版本號 鏡像名:版本號 均爲自定義 別忘了末尾的點「.」 docker build -t pythonspider:v1 .
6) 運行鏡像:vim
### 經過 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 ### 到此目錄下你就會看到產生的數據
原文出處:https://www.cnblogs.com/HouZhenglan/p/11926117.htmlcentos