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


Posted in Python onJanuary 19, 2020

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实现数通设备端口监控示例
Apr 02 Python
Python中装饰器的一个妙用
Feb 08 Python
使用Python脚本对Linux服务器进行监控的教程
Apr 02 Python
python交互式图形编程实例(二)
Nov 17 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
使用Python写一个小游戏
Apr 02 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python Series从0开始索引的方法
Nov 06 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
Python Selenium参数配置方法解析
Jan 19 #Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 #Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 #Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 #Python
Python openpyxl模块原理及用法解析
Jan 19 #Python
Python imutils 填充图片周边为黑色的实现
Jan 19 #Python
python opencv 实现对图像边缘扩充
Jan 19 #Python
You might like
php bootstrap实现简单登录
2016/03/08 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
python语言使用技巧分享
2016/05/31 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
详解python和matlab的优势与区别
2019/06/28 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
python程序如何进行保存
2020/07/03 Python
pandas参数设置的实用小技巧
2020/08/23 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
文员个人求职自荐信
2013/09/21 职场文书
会计实习期自我鉴定
2013/10/06 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
学校师德师风整改方案
2014/10/28 职场文书
2015年教务工作总结
2015/05/23 职场文书
升学宴学生致辞
2015/09/29 职场文书
解析Redis Cluster原理
2021/06/21 Redis
Java基础-封装和继承
2021/07/02 Java/Android