每天5分钟玩转Docker容器技术
上QQ阅读APP看书,第一时间看更新

前言

写在最前面

《每天5分钟玩转Docker容器技术》是一个有关容器技术的教程,有下面两个特点:

1.系统讲解当前最流行的容器技术

从容器的整个生态环境到各种具体的技术,从整体到细节逐一讨论。

2.重实践并兼顾理论

从实际操作的角度带领大家学习容器技术。

为什么要写这个

简单回答是:容器技术非常热门,但门槛高。

容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行。

对IT行业来说,这是一项非常有价值的技术。而对IT从业者来说,掌握容器技术是市场的需要,也是提升自我价值的重要途径。

拿我自己的工作经历来说,毕业后的头几年是做J2EE应用开发。后来到一家大型IT公司,公司的产品从中间件到操作系统、从服务器到存储、从虚拟化到云计算都有涉及。

我所在的部门是专门做IT基础设施实施服务的,最开始是做传统的IT项目,包括服务器配置,双机HA等。随着虚拟化技术成熟,工作上也开始涉及各种虚拟化技术的规划和实施,包括VMWare、KVM、PowerVM等。后来云计算兴起,在公司业务和个人兴趣的驱动下,开始学习和实践OpenStack,在这个过程中写了《每天5分钟玩转OpenStack》教程并得到大家的认可。

现在以Docker为代表的容器技术来了,而且关注度越来越高,这一点可以从Google Trend中Docker的搜索上升趋势中清楚看到,如下图所示(图中曲线上扬最高的为Docker)。

每一轮新技术的兴起,无论对公司还是个人既是机会也是挑战。

我个人的看法是:如果某项新技术未来将成为主流,就应该及早尽快掌握。因为:

1.新技术意味着新的市场和新的需求

初期掌握这种技术的人不会很多,而市场需求会越来越大,因而会形成供不应求的卖方市场,物以稀为贵,这对技术人员将是一个难得的价值提升机会。

2.学习新技术需要时间和精力,早起步早成材

机会讲过了,咱们再来看看挑战。

新技术往往意味着技术上的突破和创新,会有不少新的概念和方法,而且从大数据、云计算和容器技术来看,这些新技术都是平台级别,覆盖的技术范围非常广,包括计算、网络、存储、高可用、监控、安全等多个方面,要掌握这些新技术对IT老兵尚有不小困难,更别说新人了。

由于对技术一直保持着很高的热诚和执着,在掌握了OpenStack相关IaaS技术后,我便开始调研PaaS技术栈。正好这时Docker也越来越流行,自然而然便开始了容器相关技术的学习研究和实践。

学习容器技术的过程可以说是惊喜不断,经常惊叹于容器理念的先进和容器生态环境的完整和强大。很多传统软件开发和运维中的难题在容器世界里都能轻松解决,也渐渐理解了容器为何如此受到青睐。

不夸张地说,容器为我打开了一扇通往另一个软件世界的大门,让我沉浸其中,激动不已。高兴之余,我也迫不及待地想把我所看到、所学到和所想到的有关容器的知识介绍给更多的人,让更多的IT工程师能够从容器技术中受益。

我希望这个教程也能为大家打开这扇门,降低学习的曲线,系统地学习和掌握容器技术。

写给谁看

这套教程的目标读者包括:

1.软件开发人员

相信微服务架构(Microservice Architectur)会逐渐成为开发应用系统的主流,而容器则是这种架构的基石。市场将需要更多能够开发出基于容器的应用程序的软件开发人员。

2. IT实施和运维工程师

容器为应用提供了更好的打包和部署方式,越来越多的应用将以容器的方式在开发、测试和生产环境中运行。掌握容器相关技术将成为实施和运维工程师的核心竞争力。

3.我自己

我坚信最好的学习方法是分享。编写这个教程同时也是对自己学习和实践容器技术的总结。对于知识,只有把它写出来并能够让其他人理解,才能说明真正掌握。

包含哪些内容

本系列教程分为《每天5分钟玩转Docker容器技术》和《每天5分钟玩转Docker容器平台》两本,包括以下三大块内容:

下面分别介绍各部分包含的内容。

1.启程

如下图所示,“启程”会介绍容器的生态系统,让大家先从整体上了解容器包含哪些技术,各种技术之间的相互关系是什么,然后再来看我们的教程都会涉及生态中的哪些部分。

为了让大家尽快对容器有个感性认识,我们会搭建实验环境并运行第一个容器,为之后的学习热身。

2.容器技术

“容器技术”主要内容如下图所示,包含“容器核心知识”和“容器进阶知识”两部分。

核心知识主要回答有关容器What、Why和How三方面的问题,其中以How为重,将展开讨论架构、镜像、容器、网络和存储。

进阶知识包括将容器真正用于生成所必需的技术,包括多主机管理、跨主机网络、监控、数据管理、日志管理和安全管理。

这部分内容将在本书《每天5分钟玩转Docker容器技术》中详细讨论。

3.容器平台技术

如下图所示,“容器平台技术”包括容器编排引擎、容器管理平台和基于容器的PaaS。容器平台技术在生态环境中占据着举足轻重的位置,对于容器是否能够落地,是否能应用于生产至关重要。

我们将在本系列教程的另一本书《每天5分钟玩转Docker容器平台》中详细讨论容器编排引擎、容器管理平台和基于容器的PaaS,学习和实践业界最具代表性的开源产品。

怎样的编写方式

我会继续采用《每天5分钟玩转OpenStack》(本书已在清华出版)的方式,通过大量的实验由浅入深地探讨和实践容器技术,力求达到如下目标:

(1)快速上手:以最直接、最有效的方式让大家把容器用起来。

(2)循序渐进:由易到难、从浅入深,详细分析容器的各种功能和配置使用方法。

(3)理解架构:从设计原理和架构分析入手,深入探讨容器的架构和运行机理。

(4)注重实践:以大量实际操作案例为基础,让大家能够掌握真正的实施技能。

在内容的发布上还是通过微信公众号(cloudman6)每周一、三、五定期分享。欢迎大家通过公众号提出问题和建议,进行技术交流。

为什么叫《每天5分钟玩转Docker容器技术》

为了降低学习的难度并且考虑到移动端碎片化阅读的特点,每次推送的内容大家只需要花5分钟就能看完(注意这里说的是看完,有时候完全理解可能需要更多时间哈),每篇内容包含1~3个知识点,这就是我把本书命名为《每天5分钟玩转Docker容器技术》的原因。虽然是碎片化推送,但整个教程是系统、连贯和完整的,只是化整为零了。

好了,今天这5分钟算是开了个头,下面我们正式开始玩转Docker容器技术。

编者

2017年7月