内容正文:
课程名称
第1章 容器世界
计划学时
2学时
内容分析
本章主要介绍了解虚拟化、Docker容器、容器生态系统
教学目标
与教学要求
要求学生了解虚拟化技术、熟悉容器的概念、熟悉容器生态系统、掌握Docker的概念
教学重点
Docker容器、容器生态系统
教学难点
Docker容器、容器生态系统
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(了解虚拟化、Docker容器)
了解容器知识
1.介绍本书,引出本课时的主题
提到容器,人们可能会想到水杯之类盛放液体的工具,在互联网中容器也是一种“盛放”东西的工具,容器技术与虚拟化技术类似。容器技术的便捷与高效使它成为当下十分流行的IT技术。容器技术中最具代表性的就是Docker技术,Docker几乎成为了容器技术的代名词。本章内容将带领读者打开容器世界的大门,初探容器技术的奥秘。
2.明确学习目标
(1) 能够了解虚拟化概念
(2) 能够了解硬件虚拟化
(3) 能够掌握Docker技术诞生
(4) 能够掌握容器与虚拟化
(5) 能够掌握Docker优势
知识讲解
· 虚拟化概念
在计算机技术中,虚拟化(Virtualization)是一种资源管理技术。虚拟化的目的是在一台计算机上运行多个系统或应用,从而提高资源的利用率,节约成本。将单台服务器中的各种资源,如网络、存储、CPU及内存等,整合转换为一台或多台虚拟机,用户就可以从多个方面充分利用计算资源,如图所示。
由图可以看出,一台物理机可以拥有多台虚拟机,而这些虚拟机都是基于物理机运行。其中,物理机又叫作虚拟机的宿主机(可简称为主机),只要它处于正常运行状态,就可以一直承载虚拟机的运行。由于虚拟机基于物理机运行,硬件设备都是共享的,在创建多台虚拟机时,也要考虑到物理机的配置是否能够承载足够数量的虚拟机。
· 硬件虚拟化
硬件虚拟化是对宿主机的硬件进行虚拟化,使硬件对用户隐藏,并将虚拟化的硬件呈现在用户面前,如图所示。
图中所示的硬件并非真实的物理硬件,而是通过虚拟化技术虚拟出来的,与虚拟机一样基于物理机硬件。在1.1.1节中讲过,虚拟机的运行需要考虑物理机硬件的配置,例如,将物理机中的网卡取出后,在虚拟机设置中是无法添加网卡的,但只要物理机中有网卡,虚拟机中就可以添加多个网卡。再例如,物理机的内存有16GB,用户直接给虚拟机配置16GB,这也是无法实现的,因为物理机的运行也需要消耗内存。
下面是一些关于硬件虚拟化的例子。
Inter-VT(Inter Virtualization Technology,Intel公司的虚拟化技术),为了解决纯软件虚拟化安全、性能等方面不足,这种技术可以让一个CPU看起来像是多个CPU在工作一样,从而实现了在一台计算机上同时存在多个操作系统。
AMD-V(AMD Virtualization,AMD公司的虚拟化技术)。它是针对x86处理器系统架构的一组硬件扩展虚拟化技术,可以简化纯软件的虚拟化解决方案,改进VMM(Virtual Machine Manager,虚拟机监视程序)的设计,更充分地利用硬件资源,提高了服务器和数据中心的虚拟化效率。
· Docker技术诞生
容器(Container)技术是基于虚拟化技术的,它使应用程序可以从一个计算环境快速可靠地转移到另一个计算环境,可以说是一种新型的虚拟化技术。由于容器技术的优越性,越来越多的互联网公司开始开发容器应用。
早在1979年,UNIX系统中出现了一种chroot机制,这是容器技术的雏形。2000年,FreeBSD Jails技术出现,它基于FreeBSD系统,将计算机分为多个独立的小型计算系统。2006年,谷歌推出了Process Containers(过程容器)技术,它不仅可以隔离进程,还可以对隔离空间限制计算资源。2008年,出现了第一个完整的容器管理工具——LXC(Linux Container,Linux容器)。2013年,LMCTFY(Let Me Contain That For you,我为你的程序打包)作为由谷歌开发的开源容器技术,实现了在Linux系统中使用容器技术,LMCTFY最终成为Libcontainer容器管理的重要组成部分。
Docker技术问世,容器热度呈爆发式增长,Docker逐渐成为了容器中的杰出代表,如图所示。
· 容器与虚拟化
引入集装箱的概念来辅助理解Docker容器。集装箱被誉为是运输业与世界贸易最重要的发明。早期的货物运输时,设计将不同的货物放在运输机上和因货物规格的不同而频繁的进行货物装载与卸载等浪费了大量的人力物力。
为此人们发明了集装箱,根据货物的形状、大小,使用不同规格集装箱进行装载,然后再放在运输机上运输。集装箱密封