[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。
配置完成之后,可以发现镜像的下载速度会快非常多。
[Python3网络爬虫开发实战] 1.9.1-Docker的安装的更多相关文章
- [Python3网络爬虫开发实战] 1.3.2-Beautiful Soup的安装
		
Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式,本节就来了解下它的安装方式. 1. 相关链接 官方文 ...
 - [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装
		
安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...
 - 崔庆才Python3网络爬虫开发实战电子版书籍分享
		
资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...
 - 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑
		
<Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...
 - 《Python3 网络爬虫开发实战》学习资料
		
<Python3 网络爬虫开发实战> 学习资料 百度网盘:https://pan.baidu.com/s/1PisddjC9e60TXlCFMgVjrQ
 - Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘
		
百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...
 - 转:【Python3网络爬虫开发实战】 requests基本用法
		
1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...
 - 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码
		
下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...
 - 《Python3网络爬虫开发实战》
		
推荐:★ ★ ★ ★ ★ 第1章 开发环境配置 第2章 网页基础知识 第3章 网络爬虫基础 第4章 基本库的使用 第5章 解析库的使用 第6章 数据存储 第7章 Ajax数据爬取 第8章 动态渲染页面 ...
 - [Python3网络爬虫开发实战] 3.1.4-分析Robots协议
		
利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...
 
随机推荐
- Ruby自定义打印的字符串
			
重要性就不说了,没了这个出点小bug都要查半天. def inspect() return "要输出的字符串写在这里咯" end 实际代码 #------- ...
 - bzoj 4816: [Sdoi2017]数字表格【莫比乌斯反演+逆元】
			
把题意简化,就是要求 \[ \prod_{d=1}^{min(n,m)}f[d]^{\sum_{i=1}^{n}\sum_{j=1}^{m}e[gcd(i,j)==d]} \] 把幂用莫比乌斯反演转化 ...
 - 【优化算法】Greedy Randomized Adaptive Search算法 超详细解析,附代码实现TSP问题求解
			
01 概述 Greedy Randomized Adaptive Search,贪婪随机自适应搜索(GRAS),是组合优化问题中的多起点元启发式算法,在算法的每次迭代中,主要由两个阶段组成:构造(co ...
 - Codeforces Beta Round #98 (Div. 2)(A-E)
			
A #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
 - Oracle分区表例子
			
分区表 Oracle提供的分区方法有以下几种. 1.范围分区(range) 范围分区是应用范围比较广的表分区方式,它是以列的值的范围来作为分区的划分条 件,将记录存放到列值所在的 range分区中. ...
 - 关于表单清空的细节(reset函数或者class="reset"属性)
			
在需要清空的表单的情况下, 如果是在页面中 那么就添加属性 class="reset" 也即是 <button class="reset" value= ...
 - kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)
			
部署k8sv1.13.1只需要下面几步就OK了: git clone https://github.com/luckman666/deploy_Kubernetes-v1.13.1.git cd de ...
 - 用pycharm+django开发web项目
			
pycharm是python的一个商业的集成开发工具,本人感觉做python开发还是很好用的,django是一个很流行的python web开源框架,本文就是使用pycharm+django来开发py ...
 - iOS Programming  UIWebView  2
			
iOS Programming UIWebView 1 Instances of UIWebView render web content. UIWebView可以显示web content. In ...
 - iOS Programming Introduction to Auto Layout   自动布局
			
iOS Programming Introduction to Auto Layout 自动布局 A single application that runs natively on both t ...