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通过正则查找微博@(at)用户的方法
Mar 13 Python
使用Python的Flask框架实现视频的流媒体传输
Mar 31 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
Python计算两个日期相差天数的方法示例
May 23 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
Python sqlite3查询操作过程解析
Feb 20 Python
django实现日志按日期分割
May 21 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
python unichr函数知识点总结
Dec 16 Python
将Python代码打包成.exe可执行文件的完整步骤
May 12 Python
Python Pandas常用函数方法总结
Jun 15 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&mysql(三)
2006/10/09 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
vue内置指令详解
2018/04/03 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
python实现中文转换url编码的方法
2016/06/14 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
python3排序的实例方法
2020/10/20 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
简历自我评价模版
2014/01/31 职场文书
三八妇女节活动总结
2014/05/04 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
2014年法务工作总结
2014/12/11 职场文书
新郎新娘答谢词
2015/01/04 职场文书
python中的被动信息搜集
2021/04/29 Python