写在最前面 - 每天5分钟玩转容器技术(1)

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

  1. 系统讲解当前最流行的容器技术。
    从容器的整个生态环境到各个具体的技术,从整体到细节逐一讨论。
  2. 重实践并兼顾理论。
    从实际操作的角度带领大家学习容器技术。

为什么要写这个?

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

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

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

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

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

现在以 Docker 为代表的容器技术来了,而且关注度越来越高,这一点可以从 google trend 中 Docker 的搜索上升趋势(蓝色曲线)中清楚看到。

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

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

  1. 新技术意味着新的市场和新的需求。
    初期掌握这种技术的人不会很多,而市场需求会越来越大,因而会形成供不应求的卖方市场,物以稀为贵,这对技术人员将是一个难得的价值提升机会。
  2. 学习新技术需要时间和精力,早起步早成材。

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

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

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

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

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

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

写给谁看?

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

软件开发人员

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

IT 实施和运维工程师

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

我自己

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

包含哪些内容?

如下图,三大块:

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

启程

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

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

容器技术

这是教程的主要内容,包含“容器核心知识”和“容器进阶知识”两部分。

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

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

容器平台技术

容器平台技术在生态环境中占据着举足轻重的位置,对于容器是否能够落地,是否能应用于生产至关重要。我们将详细讨论容器编排引擎、容器管理平台和基于容器的 PaaS,学习和实践业界最具代表性的开源产品。

怎样的编写方式?

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

  1. 快速上手:以最直接、最有效的方式让大家把容器用起来。
  2. 循序渐进:由易到难,从浅入深,详细分析容器的各种功能和配置使用方法。
  3. 理解架构:从设计原理和架构分析入手,深入探讨容器的架构和运行机理。
  4. 注重实践:以大量实际操作案例为基础,让大家能够掌握真正的实施技能。

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

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

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

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

时间: 2024-10-13 22:00:46

写在最前面 - 每天5分钟玩转容器技术(1)的相关文章

每天5分钟玩转容器技术 整理目录

原 写在最前面 - 每天5分钟玩转容器技术(1) 容器生态系统 - 每天5分钟玩转容器技术(2) 容器生态系统 (续) - 每天5分钟玩转容器技术(3) 运行第一个容器 - 每天5分钟玩转容器技术(4) [视频]运行第一个容器 - 每天5分钟玩转容器技术(5) 容器 What, Why, How - 每天5分钟玩转容器技术(6) Docker 架构详解 - 每天5分钟玩转容器技术(7) Docker 组件如何协作?- 每天5分钟玩转容器技术(8) 最小的镜像 - 每天5分钟玩转容器技术(9) b

容器 What, Why, How - 每天5分钟玩转容器技术(6)

学习任何东西都可以按照3W的框架进行,容器技术也是一样,先回答 What.Why 和 How 这三个问题. What - 什么是容器? 容器是一种轻量级.可移植.自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行.开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机.物理服务器或公有云主机上运行. 容器与虚拟机 谈到容器,就不得不将它与虚拟机进行对比,因为两者都是为应用提供封装和隔离. 容器由两部分组成: 应用程序本身 依赖:比如应用程序需要的库或其他软

镜像的分层结构 - 每天5分钟玩转容器技术(11)

Docker 支持通过扩展现有镜像,创建新的镜像. 实际上,Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的.比如我们现在构建一个新的镜像,Dockerfile 如下: ① 新镜像不再是从 scratch 开始,而是直接在 Debian base 镜像上构建.② 安装 emacs 编辑器.③ 安装 apache2.④ 容器启动时运行 bash. 构建过程如下图所示: 可以看到,新镜像是从 base 镜像一层一层叠加生成的.每安装一个软件,就在现有

运行第一个容器 - 每天5分钟玩转容器技术(4)

为了让大家对容器有个感性认识,我们将尽快让一个容器运行起来. 首先我们需要搭建实验环境. 环境选择 容器需要管理工具.runtime 和操作系统,我们的选择如下: 管理工具 - Docker Engine因为 Docker 最流行使用最广泛. runtime - runcDocker 的默认 runtime 操作系统 - Ubuntu虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前处于初学阶段,选择大家熟悉的操作系统更为合适.等具备了扎实的容器基础知识后再使用容器 OS 会更有利. 安

base 镜像 - 每天5分钟玩转容器技术(10)

上一节我们介绍了最小的 Docker 镜像本节讨论 base 镜像. base 镜像有两层含义 不依赖其他镜像从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像比如 Ubuntu, Debian, CentOS 等. 我们以 CentOS 为例考察 base 镜像包含哪些内容.下载镜像 docker pull centos 查看镜像信息 镜像大小不到 200MB. 等一下一个 CentOS 才 200MB

最小的镜像 - 每天5分钟玩转容器技术(9)

镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器. 本章内容安排如下: 首先通过研究几个典型的镜像,分析镜像的内部结构. 然后学习如何构建自己的镜像. 最后介绍怎样管理和分发镜像. 镜像的内部结构 为什么我们要讨论镜像的内部结构? 如果只是使用镜像,当然不需要了解,直接通过 docker 命令下载和运行就可以了. 但如果我们想创建自己的镜像,或者想理解 Docker 为什么是轻量级的,就非常有必要学习这部分知识了. 我们从一个最小的镜像开始吧. hello-world

Docker 架构详解 - 每天5分钟玩转容器技术(7)

Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 - Container Docker 架构如下图所示: Docker 采用的是 Client/Server 架构.客户端向服务器发送请求,服务器负责构建.运行和分发容器.客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 socket 或 REST API 与远程的服务器通信. Dock

【视频】运行第一个容器 - 每天5分钟玩转容器技术(5)

这两天制作的视频,安装 Docker 并运行第一个容器,希望对大家有帮助. 可在公众号(cloudman6)回复 "容器" 查看.

容器生态系统 (续) - 每天5分钟玩转容器技术(3)

容器生态系统包含核心技术.平台技术和支持技术三个方面.上一节我们讨论了核心技术,今天讨论另外两个部分. 容器平台技术 容器核心技术使得容器能够在单个 host 上运行.而容器平台技术能够让容器作为集群在分布式环境中运行. 容器平台技术包括容器编排引擎.容器管理平台和基于容器的 PaaS. 容器编排引擎 基于容器的应用一般会采用微服务架构.在这种架构下,应用被划分为不同的组件,并以服务的形式运行在各自的容器中,通过 API 对外提供服务.为了保证应用的高可用,每个组件都可能会运行多个相同的容器.这