最近要部署分布式爬蟲用來提高效率,但是發現配置環境太耗時間了,於是想到了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上看到倉庫