Docker部署Python爬虫项目的方法步骤

yipeiwu_com5年前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 mirrors.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 
### 到此目录下你就会看到产生的数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中urllib+urllib2+cookielib模块编写爬虫实战

Python中urllib+urllib2+cookielib模块编写爬虫实战

超文本传输协议http构成了万维网的基础,它利用URI(统一资源标识符)来识别Internet上的数据,而指定文档地址的URI被称为URL(既统一资源定位符),常见的URL指向文件、目录...

python利用urllib实现爬取京东网站商品图片的爬虫实例

python利用urllib实现爬取京东网站商品图片的爬虫实例

本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代...

Python 3实战爬虫之爬取京东图书的图片详解

Python 3实战爬虫之爬取京东图书的图片详解

前言 最近工作中遇到一个需求,需要将京东上图书的图片下载下来,假如我们想把京东商城图书类的图片类商品图片全部下载到本地,通过手工复制粘贴将是一项非常庞大的工程,此时,可以用Python网...

Python爬虫工程师面试问题总结

注:答案一般在网上都能够找到。 1.对if __name__ == 'main'的理解陈述 2.python是如何进行内存管理的? 3.请写出一段Python代码实现删除一个lis...

零基础写python爬虫之抓取糗事百科代码分享

零基础写python爬虫之抓取糗事百科代码分享

项目内容: 用Python写的糗事百科的网络爬虫。 使用方法: 新建一个Bug.py文件,然后将代码复制到里面后,双击运行。 程序功能: 在命令提示行中浏览糗事百科。 原理解...