每个人获得的东西都恰好是他值得获得的东西

docker

docker部署pyspider

缘起

最近在搞docker部署pyspider,pyspider是一个非常灵活用户友好的爬虫框架,基于该框架能够很容易写出可控的爬虫。
由于对docker不够熟悉,花了不少时间在解决部署问题上,很多地方纠结了蛮久的。写点笔记纪录使用经历。
当然我最后还是没单机docker部署pyspider。。不过单机也用不着组件化。。

首先,将redis和postgresql启动

# docker run --name postgres -v /data/postgres/:/var/lib/postgresql/data \ 
-d -p $LOCAL_IP:5432:5432 -e POSTGRES_PASSWORD="" postgres
# docker run --name redis -d -p  $LOCAL_IP:6379:6379 redis

其次,创建数据库用户和数据库

在实际部署中有个坑是这样的, docker-compose.yaml里db的用户名是由name@hostip里的name决定的,如果你没有创建name相应的role那么fetcher和processor会报错。
创建完了role之后接着需要创建三个数据库taskdb,resultdb,projectdb。
不会创建?

# docker exec -it postgres bash

然后在打开的容器shell里输入

$ psql -U postgres
Continue reading