0%

[Python3网络爬虫开发实战] 1.9.1-Docker的安装

Docker是一种容器技术,可以将应用和环境等进行打包,形成一个独立的、类似于iOS的App形式的“应用”。这个应用可以直接被分发到任意一个支持Docker的环境中,通过简单的命令即可启动运行。Docker是一种最流行的容器化实现方案,和虚拟化技术类似,它极大地方便了应用服务的部署;又与虚拟化技术不同,它以一种更轻量的方式实现了应用服务的打包。使用Docker,可以让每个应用彼此相互隔离,在同一台机器上同时运行多个应用,不过它们彼此之间共享同一个操作系统。Docker的优势在于,它可以在更细的粒度上进行资源管理,也比虚拟化技术更加节约资源。

对于爬虫来说,如果我们需要大规模部署爬虫系统的话,用Docker会大大提高效率。工欲善其事,必先利其器。

本节中,我们就来介绍三大平台下Docker的安装方式。

1. 相关链接

  • 官方网站:https://www.docker.com
  • GitHub:https://github.com/docker
  • Docker Hub:https://hub.docker.com
  • 官方文档:https://docs.docker.com
  • DaoCloud:http://www.daocloud.io
  • 中文社区:http://www.docker.org.cn
  • 中文教程:http://www.runoob.com/docker/docker-tutorial.html
  • 推荐图书:https://yeasy.gitbooks.io/docker_practice

2. Windows下的安装

如果你的系统是Windows 10 64位,那么推荐使用Docker for Windows。此时直接从Docker官方网站下载最新的Docker for Windows 安装包即可:https://docs.docker.com/docker-for-windows/install/

如果不是Windows 10 64位系统,则可以下载Docker Toolbox:https://docs.docker.com/toolbox/toolbox_install_windows/

下载后直接双击安装即可,详细过程可以参考文档说明。安装完成后,进入命令行。

运行docker命令测试:

1
docker

运行结果如图1-81所示,这就证明Docker安装成功了。

图1-81 运行结果

3. Linux下的安装

详细的分步骤安装说明可以参见官方文档:https://docs.docker.com/engine/installation/linux/ubuntu/

官方文档中详细说明了不同Linux系统的安装方法,根据文档一步步执行即可安装成功。但是为了使安装更加方便,Docker官方还提供了一键安装脚本。使用它,会使安装更加便捷,不用再去一步步执行命令安装了。

首先是Docker官方提供的安装脚本。相比其他脚本,官方提供的一定更靠谱,安装命令如下:

1
curl -sSL https://get.docker.com/ | sh

只要执行如上一条命令,等待一会儿Docker便会安装完成,这非常方便。

但是使用官方脚本安装有一个缺点,那就是慢,也可能下载超时,所以为了加快下载速度,我们可以使用国内的镜像来安装,所以这里还有阿里云和DaoCloud的安装脚本。

阿里云的安装脚本:

1
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

DaoCloud的安装脚本:

1
curl -sSL https://get.daocloud.io/docker | sh

这两个脚本可以任选其一,速度都非常不错。

等待脚本执行完毕之后,就可以使用Docker相关命令了,如运行测试Hello World镜像:

1
docker run hello-world

运行结果:

1
2
3
4
5
6
7
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.

如果出现类似上面提示的内容,则证明Docker可以正常使用了。

4. Mac下的安装

Mac平台同样有两种选择:Docker for Mac和Docker Toolbox。

Docker for Mac要求系统为OS X EI Captain 10.11或更新,至少4GB内存。如果你的系统满足此要求,则强烈建议安装Docker for Mac。

这里可以使用Homebrew安装,安装命令如下:

1
brew cask install docker

另外,也可以手动下载安装包(下载地址为:https://download.docker.com/mac/stable/Docker.dmg)安装。

下载完成后,直接双击安装包,然后将程序拖动到应用程序中即可。

点击程序图标运行Docker,会发现在菜单栏中出现了Docker的图标,如图1-82中的第三个小鲸鱼图标。

图1-82 菜单栏

点击小鲸鱼图标,展开菜单之后,再点击Start按钮即可启动Docker。启动成功后,便会提示Docker is running,如图1-83所示。

图1-83 运行页面

随后,我们就可以在命令行下使用Docker命令了。

可以使用如下命令测试运行:

1
sudo docker run hello-world

运行结果如图1-84所示,这就证明Docker已经成功安装了。

图1-84 运行结果

如果系统不满足要求,可以下载Docker Toolbox,其安装说明为:https://docs.docker.com/toolbox/overview/

关于Docker for Mac和Docker Toolbox的区别,可以参见:https://docs.docker.com/docker-for-mac/docker-toolbox/

5. 镜像加速

安装好Docker之后,在运行测试命令时,我们会发现它首先会下载一个Hello World的镜像,然后将其运行。但是这里的下载速度有时候会非常慢,这是因为它默认还是从国外的Docker Hub下载的。因此,为了提高镜像的下载速度,我们还可以使用国内镜像来加速下载,于是就有了Docker加速器一说。

推荐的Docker加速器有DaoCloud(详见https://www.daocloud.io/mirror)和阿里云(详见https://cr.console.aliyun.com/#/accelerator)。

不同平台的镜像加速方法配置可以参考DaoCloud的官方文档:http://guide.daocloud.io/dcs/daocloud-9153151.html

配置完成之后,可以发现镜像的下载速度会快非常多。