[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协议也称作爬虫协议.机器人协议,它的 ...
随机推荐
- 【WIP】rails redis的使用
创建: 2018/03/17 [任务表]TODO 注: mac版 %开头表示命令行命令 安装 安装 % brew install redis 确认版本 % redis-server --ver ...
- bzoj 1415: [Noi2005]聪聪和可可【期望dp+bfs】
因为边权为1所以a直接bfs瞎搞就行--我一开始竟然写了个spfa #include<iostream> #include<cstdio> #include<queue& ...
- bzoj 2337 [HNOI2011]XOR和路径【高斯消元+dp】
首先,我们发现,因为是无向图,所以相连的点之间是有"依赖性"的,所以不能直接用dp求解. 因为是xor,所以按位处理,于是列线性方程组,设$ x[i] $为点i到n异或和为1的期望 ...
- [App Store Connect帮助]八、维护您的 App(2)将 App 从 App Store 中移除
如果您不想继续向顾客提供您的 App,您可以将其从 App Store 中移除,这样会移除该 App 的所有版本.拥有该 App 先前版本的用户将无法更新 App,但只要您的合约有效,用户便仍可下载最 ...
- 有了Git这些操作,我再也不怕开发了!
Git 是什么? Git 是一个分布式的代码管理容器,本地和远端都保有一份相同的代码. Git 仓库主要是由是三部分组成:本地代码,缓存区,提交历史. Git 有哪些常规操作? Git的常规操作你了解 ...
- _bzoj1051 [HAOI2006]受欢迎的牛【强联通】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1051 保存tarjan模版. 求强联通分量,缩点. #include <cstdio& ...
- 题解报告:hdu 2094 产生冠军
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2094 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打 ...
- Android插件开发
插件开发的概念: 对于一个功能特别多,代码量特别大的App比如支付宝.360手机助手来说,如果把所有的功能和代码都写在一个App中,就会造成App体积过于庞大,用户下载体验差,不方便测试,业务.模块耦 ...
- webapp开发学习---Cordova目录结构分析及一些概念
Config.xml是一个全局配置文件,用于控制cordova应用程序行为的许多方面. 这个不依赖于平台的XML文件是基于W3C的“打包Web应用程序(Widget)”规范进行安排的,并扩展到指定 ...
- Aspose.Word 的常见使用(2018-12-26 更新版)
Aspose.Word 的常见使用 起因 因项目需要,而且使用html转Word的时候,样式不兼容问题,于是只能使用Aspose.Word通过代码生成.下面是通过DocumentBuilder来设计W ...