Docker 部署 pyspider 踩坑实录

最近在倒腾 pyspider,不得不说这个爬虫框架用起来真的很方便。从编写调试到部署一条龙服务, 对于我这种 Scrapy 苦手来说,简直就是救星。另外 pyspider 还提供了 Docker 镜像,通过 Docker 部署省去了安装依赖的麻烦。不过我实际根据官方文档尝试 Docker Compose 部署的时候还是遇到了一点小麻烦,搜索折腾了一番之后总算弄好了,这里做个记录。 ImportError: No module named MySQLdb 执行 docker-compose up 的时候,报了这个错误,解决方法是安装 MySQL-python。 # Dockerfile FROM binux/pyspider:latest RUN pip install MySQL-python 这里大家可以自己通过上面的 Dockerfile build 一个新的镜像,或者也可以直接使用我上传的镜像kuma1430/pyspider。然后把官方的 docker-compose.yml 里的 binux/pyspider 换成你创建的镜像名或者 kuma1430/pyspider。 Authentication plugin ‘caching_sha2_password’ cannot be loaded 通过上面安装 MySQL-python,我们解决了找不到 MySQLdb 的问题,但是新的问题出现了: sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory") (Background on this error at: http://sqlalche....

2019-03-04 · 1 min · 白熊