最近要部署分布式爬虫用来提高效率,但是发现配置环境太耗时间了,于是想到了docker神器,docker可以简单理解成环境配置中的git,docker安装就不介绍了
这里以创建一个scrapydweb为例来讲解docker使用
一、创建一个文件夹scrapydweb,里面放下面三个文件
1.1、创建Dockerfile
FROM python:3.6 ADD . /code WORKDIR /code EXPOSE 10070 RUN pip3 install -r requirements.txt CMD scrapydweb
保存成文件名为 Dockerfile ,内容解释:
第一条指令指定docker安装的python版本
第二条指令将当前文件夹中的文件加入到docker image里的/code目录下,因为第五条指令用了requirements.txt文件,所以这里需要先拷贝进image里,否则会识别不到requirements.txt文件,
另外因为scrapydweb指令需要用到配置文件,也就是上图中第三个文件,这里也一并考进去/code目录下了。
第三条指令指定docker容器的工作目录
第四条指令开放docker容器的端口
第五条指令安装python包,我的requirements.txt里只有scrapydweb这个库,因为只用到了这个库
第六条指令指定让docker容器运行时执行的指令,一般只能有一条指令
1.2、创建image文件
docker build -t scrapydweb .
这里创建一个名字叫scrapydweb的image文件,注意后面那个点不能少
1.3、查看创建的image文件
docker images
查看创建好的image文件如下
如果我们希望把这个image保存到云端(推荐),那就到 dockerhub 上注册一个账号,然后依次执行以下三条指令
docker login docker tag scrapydweb walkonmars/scrapydweb docker push walkonmars/scrapydweb
在这里我的账号名称是walkonmars,推送成功后可以在docker hub上看到仓库