一、前言
二、使用docker hub上的binux/pyspider镜像部署
1 部署MySQL
2 部署rabbitmq
3 改造binux/pyspider:latest镜像
4 制作docker-compose.yml,让不同的功能进行联动
三、 遇到的几个错误

一、前言

前面我们讲过一篇最简单的方法来安装pyspiderdocker安装pyspider方法1:pyspider最简单的安装方法
但如果在生产环境中使用的话,还是需要使用多个软件来搭建架构来使用的。
使用架构来安装pyspider还是有不少问题的,网上的很多教程要么过时了,要么不完整,有不少坑。

binux/pyspider镜像在docker hub和github上有不同的镜像文件,所以就分两种安装方法来讲。
1、docker hub (Python2)
docker hub上提供的binux/pyspider:latest是几年前的,这个镜像默认Python是2.7的。
https://hub.docker.com/r/binux/pyspider

2、github (Python3)
在github上的文件有更新,可以支持python3,但需要自己使用Dockerfile去创建镜像来使用。
https://github.com/binux/pyspider

部署都是使用docker结合docker-compose的形式来进行安装。


二、使用docker hub上的binux/pyspider镜像部署

使用架构:mysql+rabbitmq+pyspider

主要解决的问题:
ImportError: No module named MySQLdb
Authentication plugin ‘caching_sha2_password’ cannot be loaded

1、部署MySQL
使用MySQL5.7镜像。如果用mysql8.0的话,会稍微麻烦一点
# docker run –name mysql -d -v /data/mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.7
把MySQL的数据文件保存在宿主机的/data/mysql目录中
MYSQL_ALLOW_EMPTY_PASSWORD=yes 不设置密码进行连接访问,容器之间使用link进行通信

2、部署rabbitmq
# docker run –name rabbitmq -d rabbitmq:latest

3、改造binux/pyspider:latest镜像
# docker run -it –name pyspider -d binux/pyspider

# docker images

REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
rabbitmq         latest    1dcca37da0b0   2 days ago    216MB
mysql            latest    5c62e459e087   3 weeks ago   556MB
binux/pyspider   latest    c702f1345678   3 years ago   837MB

进入pyspider
。。。。。。。。

本文隐藏内容全文需 点击文章最后链接查看

前往微信公众号查看全文:https://mp.weixin.qq.com/s/zjDjz3109rZ4MZjrx05D8g


其它相关文章:
1.docker安装pyspider方法1:pyspider最简单的安装方法
2.docker安装pyspider方法2:mysql+rabbitmq+pyspider(python2)
3.docker安装pyspider方法3:mysql+redis+HAProxy+pyspider(python3)
4.pyspider的简单使用​