本书是云计算技术与应用专业校企合作系列教材.本书从Docker的基本使用入手,深入浅出的讲解了Docker的构建、操作、技术原理和实际使用过程中的典型项目和案例,内容较全面,分为7个单元,前两个单元为Docker容器的安装,Docker容器的使用和管理,介绍了容器构建和使用基础;第3、4、5单元为Docker仓库Registry,Docker网络、存储和接口,Docker容器编排与集群,介绍了容器的高级功能;第6、7单元为容器服务管理平台Rancher和使用Docker构建持续集成,以案例和项目的形成,展现给学习者真实的应用场景。
一、缘起
Docker最初是DotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目。它是基于DotCloud公司多年的云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护。Docker项目后来还加入了Linux基金会,并成立推动开放容器联盟。
Docker使用Google公司推出的Go语言进行开发实现,基于IAnux内核的Cgroups、NameSpace及AIJFS类的Llnion Fs等技术对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他隔离的进程,因此也称其为容器。最初实现是基于LXC的,从Docker0.7以后开始去除LXC,转而使用自行开发的ibcontainer,从Docker 1.11开始,则进一步演进为使用RunC和lContainerd。
学习Docker的源码并不是一个枯燥的过程,读者可以从中理解Docker架构的设计原理。Docker对使用者来讲是一个C/S模式的架构,Docker的后端是一个非常松耦合的架构。模块各司其职,并有机组合,支撑Docker的运行。Docker的框架包括Docker后台进程Doemon、存储数据卷、网络、镜像仓库、镜像、容器实例和控制台等。二、结构
本书教学内容采用模块化的编写思路,将Docker容器、容器服务平台Rancher、持续集成DevOps三方面的学习内容分为了Docker容器的安装Docker的使用和管理,Docker仓库Registry,Docker网络、存储和接口,Docker容器编排与集群、容器服务管理平台Rancher,使用Docker构建持续集成7个教学单元和20个教学任务。
每个单元通过学习目标引出单元的教学核心内容,明确教学任务。每个任务的编写分为任务描述、知识学习、任务实施、项目实训4个环节。
·任务描述:简述任务目标,展示任务实施效果,提高学生学习兴趣。
·知识学习:详细讲解知识点,通过系列实例实践,边学边做。
·任务实施:通过任务综合应用所学知识,提高学生系统地运用知识的能力。
·项目实训:在任务实施的基础上通过“学、仿、做”达到理论与实践的统一、知识内化的教学目的。
最后进行单元小结,总结本单元的教学重点、难点。
三、特点
l_针对性强,内容选取以实用为主
本书以云计算技术专业学生的就业岗位群为导向,整个课程分为两大部分:知识学习和技术应用。知识学习以Docket概述、容器技术的基本概念、容器管理平台Rancher的简介等基本知识为主,培养学生具有较为系统的Docker容器技术基本技能;技术应用以容器的基本使用、管理平台的运维、持续集成的构建为主,内容设计比较丰富,便于学生理解和掌握。
2.精心设计,教学内容与数字化资源有机结合
本书以教学内容为主线将各项数字化资源有机结合在一起,形成完整的数字课程。
数字化资源包括3个方面的内容:第一、课程本身的基本信息,包括课程简介、学习指南、课程标准、整体设计、单元设计等;第二、教学内容中重难点的微课视频教学资源,既方便课内教学,又方便学生课外预习和复习;第三、课程项目实训,这包括课程的重难点剖析,循序渐进的综合项目开发案例、实训任务单等。
本书内容满足课堂教学的需要,而数字化资源为学生课外自主探究学习提供了一个良好的平台,课堂教学与智慧职教平台结合,提高了教学效果。
单元1 DOCker容器的安装
学习目标
学习情境
任务1.1 容器技术的调研
任务描述
知识学习
任务实施
项目实训
任务1.2 Docker的安装
任务描述
知识学习
任务实施
项目实训
单元小结
单元2 Dcoker的使用和管理
学习目标
学习情境
任务2.1 Docker镜像管理
任务描述
知识学习
任务实施
项目实训
任务2.2 Docker镜像定制
任务描述
知识学习
任务实施
项目实训
任务2.3 Docker容器管理
任务描述
知识学习
任务实施
项目实训
单元小结
单元3 Docker仓库Registry
学习目标
学习情境
任务3.1 Docker仓库与加速的配置和使用
任务描述
知识学习
任务实施
项目实训
任务3.2 Docker私有仓库与管理
任务描述
知识学习
任务实施
项目实训
单元小结
单元4 Docker网络、存储和接口
学习目标
学习情境
任务4.1 Docker存储
任务描述
知识学习
任务实施
项目实训
任务4.2 Docker网络
任务描述
知识学习
任务实施
项目实训
任务4.3 Docker APL的使用
任务描述
知识学习
任务实施
项目实训
任务4.4 Docker底层技术应用
任务描述
知识学习
任务实施
项目实训
单元小结
单元5 Docker 容器编排与集群
学习目标
学习情境
任务5.1 Docker-compose容器编排的使用
任务描述
知识学习
任务实施
项目实训
任务5.2 Docker Swarm集群的配置与管理。
任务描述
知识学习
任务实施
项目实训
任务5.3 Docker Corlsul构建集群服务
任务描述
知识学习
任务实施
项目实训
单元小结
单元6 容器服务管理平台Racher
学习目标
学习情境
任务6.1 Rarcher安装、部署、使用
任务描述
知识学习
任务实施
项目实训
任务6.2 基于Rancher构建持续集成
任务描述
知识学习
任务实施
项目实训
单元小结
单元7 使用Docker构建持续集成
学习目标
学习情境
任务7.1 构建NginxWeb应用
任务描述
知识学习
任务实施
项目实训
任务7.2 持续集成管理软件Jenkins应用
任务描述
知识学习
任务实施
项目实训
任务7.3 构建Java Web应用
任务描述
知识学习
任务实施
项目实训
任务7.4 构建Docker负载均衡
任务描述
知识学习
任务实施
项目实训
单元小结
参考文献