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二分查找算法的递归实现方法
May 12 Python
python运行其他程序的实现方法
Jul 14 Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python脚本完成post接口测试的实例
Dec 17 Python
python实现五子棋小程序
Jun 18 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python上传时包含boundary时的解决方法
Apr 08 Python
Python 如何批量更新已安装的库
May 26 Python
Python使用for生成列表实现过程解析
Sep 22 Python
Python开发简易五子棋小游戏
May 02 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
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
再谈javascript面向对象编程
2012/03/18 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
Vue的百度地图插件尝试使用
2017/09/06 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
用python进行视频剪辑
2020/11/02 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
汽车销售顾问求职自荐信
2014/01/01 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
2015元旦节寄语
2014/12/08 职场文书
施工员岗位职责范本
2015/04/11 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书