1) 首先安装docker:python
# 用 yum 安装并启动 yum install docker -y && systemctl start docker
2) 下载自定义镜像须要用到的基础镜像:c++
# 这里以centos7为例 docker pull centos:centos7
3) 基础镜像已经准备好了,接下来准备好须要部署的环境服务,以及python项目:docker
### 建立 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
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 mirrors.aliyun.com -r requirements.txt ### 在建立个爬取的数据存放的目录,这个须要根据本身代码里面设置的目录来建立,例如: VOLUME /data ### 最后一步,运行docker镜像时运行本身的python项目 ### 能够多个参数: CMD ["python3","a","main.py"] CMD ["python3","test.py"]
5) 接下来构建镜像:(就在此目录下运行)centos
### docker build -t 镜像名:版本号 镜像名:版本号 均为自定义 别忘了末尾的点“.” docker build -t pythonspider:v1 .
6) 运行镜像:ide
### 经过 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 ### 到此目录下你就会看到产生的数据