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

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

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

1. 相关链接

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

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

[Python3网络爬虫开发实战] 1.9.1-Docker的安装的更多相关文章

  1. [Python3网络爬虫开发实战] 1.3.2-Beautiful Soup的安装

    Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式,本节就来了解下它的安装方式. 1. 相关链接 官方文 ...

  2. [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装

    安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...

  3. 崔庆才Python3网络爬虫开发实战电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...

  4. 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑

    <Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...

  5. 《Python3 网络爬虫开发实战》学习资料

    <Python3 网络爬虫开发实战> 学习资料 百度网盘:https://pan.baidu.com/s/1PisddjC9e60TXlCFMgVjrQ

  6. Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘

    百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...

  7. 转:【Python3网络爬虫开发实战】 requests基本用法

    1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...

  8. 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码

    下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...

  9. 《Python3网络爬虫开发实战》

    推荐:★ ★ ★ ★ ★ 第1章 开发环境配置 第2章 网页基础知识 第3章 网络爬虫基础 第4章 基本库的使用 第5章 解析库的使用 第6章 数据存储 第7章 Ajax数据爬取 第8章 动态渲染页面 ...

  10. [Python3网络爬虫开发实战] 3.1.4-分析Robots协议

    利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...

随机推荐

  1. TensorFlow博客翻译——用TensorFlow在云端进行机器学习

    https://github.com/tensorflow/tensorflow 原文地址 Machine Learning in the Cloud, with TensorFlow Wednesd ...

  2. bzoj 2750: [HAOI2012]Road【spfa+dfs】

    枚举起点做spfa,然后一条边在最短路上的条件是dis[e[i].to]==dis[u]+e[i].va,所以每次spfa完之后,dfs出a[i]表示经过i点的最短路的起点数,b[i]表示经过i点的最 ...

  3. ionic2 如何引入第三方cordova插件

    例如:cordova-plugin-wechat 这个插件可以做微信登录,分享支付等 首先第一步:ionic plugin add cordova-plugin-wechat --variable w ...

  4. Luogu P1638 逛画展 【二分答案】

    题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, a和b,代表他要看 ...

  5. Qt事件系统之一:Qt中的事件处理与传递

    一.简介 在Qt中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent.鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的 ...

  6. BZOJ2553 [BJWC2011]禁忌

    传送门 Description ​ 给你前alphabet个小写字母组成的字符集, 以及n个单词, 定义一个串s的禁忌值为 \(\sum_{i } [s[i] == Taboo[i]]\) , Tab ...

  7. KMP HDOJ 4300 Clairewd's message

    题目传送门 题意:完全不懂,最后还是看题解才理解了.第一行字符串是密文变成明文的规则,比如第二个样例:“qwertyuiopasdfghjklzxcvbnm”,‘q'对应的明文为’a','w'对应'b ...

  8. 动态生成li标签,并设置点击事件

    今天要解释的是如下界面              主要实现了: 1.模拟后台的json数据,动态生成li标签 2.导航栏的下划线 3.给li标签右边设置图片 4.动态生成的li标签,设置选中的li的点 ...

  9. Effective Java读书笔记完结啦

    Effective Java是一本经典的书, 很实用的Java进阶读物, 提供了各个方面的best practices. 最近终于做完了Effective Java的读书笔记, 发布出来与大家共享. ...

  10. zTree树形控件讲解

    由于截图时间距离有些长,找不到原文出处,如有侵权请联系删除.