一般都是将爬虫程序写好后,在服务器上进行爬取
文件名一定创建为:Dockerfile
Docker部署需要环境
拉个创建好的服务器镜像环境:
FROM python 3.8-slim
镜像创建成功后,将当前目录中的所有文件进行拷贝到ADD ./usr/src:
ADD ./usr/src
容器代码和本地代码一样:
VOLUME usr/src
切换到/usr/src目录下:
WORKDIR /usr/src
为镜像环境下载好对应的依赖项和下载依赖的镜像链接:
RUN pip install -r requirements.txt -i
以上就将环境配置好了!!!接下来就是启动爬虫了!!
启动爬虫使用shell脚本启动,文件名为:run.sh:
必须要写的一句开头:#!/bin/bash
进入到配置好环境的项目目录下:cd /usr/src输入需要执行的爬虫程序名(windows的sh的格式不一样):scrapy crawl guoxue
然后回到Dockerfile文件,加上以下代码,让他去执行这句代码,因为sh文件是不可执行文件,加上这句就可以变得可执行文件:RUN chmod +x run.sh
然后在Dockerfile中添加:CMD /usr/src/run.sh
然后将这两个文件上传到服务器上去。
整体流程:
①编写Dockerfile文件(拉镜像-》拷贝-》切换目录-》安装文件依赖包)
②编写shell文件
③然后将两个文件进行上传到云服务器
④构建我们的镜像:docker build -t dushu:1.0 . dushu是项目镜像名,最后的.是当前目录
⑤启动爬虫:docker run -itd --name spider_dushu dushu:1.0 spidere_dushu是项目名
⑦看是否启动成功:docker ps
⑧看操作日志:docker exec spider_dushu cat dushu.log
中间如果Dockerfile和sh文件内容上出错了,需要重新加上代码的更正的处理方式:
删除镜像:
Docker rm spider_dushu
Docker rmi dushu:1.0
重新创建镜像:
docker build -t dushu:1.0 .
Docker run -itd --name spider_dushu -v /root/dushu_spider:/usr/ src dushu:1.0
参考资料: