如何使用docker部署scrapy爬虫应用
在云服务使用越来越普及的趋势下,很多应用在考虑成本和、可部署性、维护性方面,选择docker方案部署是一个不错的选择,本文0开始介绍如何构建Ubunt系统的docker镜像并部署python应用。
工具/原料
Ubuntu
docker
准备Ubuntu基础镜像文件
1、通卝过docker search 命令从互卝联卝网上下载ubuntu基础的镜像1. 搜索ubuntu docker镜像文件:hxb@omg:~$ sudo docker search ubuntu2. 使用如下命令下载ubuntu docker镜像到本地:hxb@omg:~$ sudo docker pull ubuntu


2、docker images命令查看下载到本地的镜像文件hxb@omg:~$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest 47b19964fb50 4 days ago 88.1MB

3、使用docker run命令运行ubunt容器hxb@omg:~$ sudo docker run -t -i ubunturoot@2f61e681e7a8:/#root@2f61e681e7a8:/# apt-get update

4、在容器终端中,安装openssl应用,丰富镜像内容root@2f61e681e7a8:/# apt-get install openssl在容器中安装net-tools工具,支持ifconfig命令的使用root@2f61e681e7a8:/opt# apt-get install net-tools

5、Ubunt默认的编码方式设置为C.UTF-8,以解决Python的中文乱码问题,设置方法如下:root@2f61e681e7a8:~# vim ~/.bashrcvim /etc/profileadd:.UTF-8source /etc/profilecheck:root@32b2c2c22657:/# python3Python 3.6.7 (default, Oct 22 2018, 11:32:17)[GCC 8.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import sys>>> sys.stdout.encoding'UTF-8'>>>



将Python scrapy应用部署到容器中
1、查询运行的容器实例hxb@omg:~$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2f61e681e7a8 ubuntu "/bin/bash" 3 hours ago Up 3 hours quirky_gatescd0c425c5955 ubuntu "/bin/bash" 3 hours ago Exited (0) 3 hours ago frosty_nightingale
2、查询容器实例的ID并使用docker cp命令将本地文件传输到运行的容器中hxb@omg:~$ sudo docker inspect -f '{{.Id}}' quirky_gates2f61e681e7a8b872426729344791629fe9be2b21df1502f78e283d20170630d3hxb@omg:~$ sudo docker cpscrap_app.tar 2f61e681e7a8b872426729344791629fe9be2b21df1502f78e283d20170630d3:/opt

3、使用docker commit命令提交容器的修改hxb@omg:~$ sudo docker ps -ahxb@omg:~$ sudo docker commit 2f61e681e7a8 ubuntu


4、使用docker 保存命令保存容器镜像hxb@omg:~$ sudo docker save -o ubuntu_scrap_img.tar ubuntu
