爬虫系列:Python代理IP池项目构建成镜像文件并上传到Docker hub
为什么要上传到Docker hub
随时随地 只需要 一条命令
docker pull spider_proxy_pool:v1即可下载镜像
为什么要镜像?
只需确定好映射端口 一条命令即可快速启动容器,ip 随时取用
docker run --env DB_CONN=redis://:@ip:6379/0 -p 5000:5000 spider_proxy_pool:v1
这里使用一个我做爬虫时使用的一个代理ip池项目,源码已上传到GitHub
仓库地址:https://github.com/xuefeng365/spider_proxy_pool
项目里已经上传了 Dockerfile文件,可以跟进这个文件 ,直接在Linux系统构建即可。

具体操作步骤如下:
# 任意选择下载路径
cd /usr/local/src/
# 克隆GitHub项目
git clone https://github.com/xuefeng365/spider_proxy_pool.git
# 进入项目根目录
cd spider_proxy_pool
# 构建镜像
sudo docker build -t spider_proxy_pool:v1 .
# 查看系统里所有镜像
docker images
# 启动容器:爬取并启动web服务。(ip换成你自己的公网ip即可,这里不对外)
docker run --env DB_CONN=redis://:@ip:6379/0 -p 5000:5000 spider_proxy_pool:v1
# 查看效果 -- 获取ip(只供作者自己使用。容器有可能随时停用),感兴趣可以自己制作
http://www.51automate.cn:5000/get/
sudo docker build -t spider_proxy_pool:v1 .解释:
我们利用build指令生成镜像,-t 参数指定了最终镜像的名字为spider_proxy_pool:v1。
如果注意,会看到 docker build 命令最后有一个 . 。 . 表示当前目录,这里是指将Dockerfile所在的当前目录作为构建上下文目录。
期间使用以下命令时,遇到权限被拒绝的问题
git clone https://github.com/xuefeng365/spider_proxy_pool.git
具体解决方法 》 查看系列文章 之 Linux系统克隆仓库时,权限被拒绝
镜像上传到docker hub
可以直接看这个把本地docker镜像上传到Docker Hub,亲测好用
去 https://hub.docker.com注册个账号,注册可能需要外网,不太稳定。
docker login 输入Docker Hub的用户名及密码
docker login
查看镜像
docker images
更改镜像名,不改会报错
docker tag 镜像id docker hub账号名:上传到docker hub上的镜像名
docker tag spider_proxy_pool:v1 xuefeng365/spider_proxy_pool:v1
上传镜像,执行命令
docker push xuefeng365/spider_proxy_pool:v1

拉取镜像文件,并启动服务
Redis 安装
利用docker安装redis
sudo docker pull redis
启动redis
sudo docker run -d --name redis -p 6379:6379 redis --requirepass
拉取镜像
docker pull xuefeng365/spider_proxy_pool:v1
docker run --env DB_CONN=redis://:@ip:6379/0 -p 5000:5000 xuefeng365/spider_proxy_pool:v1
查看效果(你的公网ip+5000端口,这里是假的) 222.222.222.222:5000