本书以任务为导向,较为全面地介绍了容器技术的相关知识。全书共分为7个项目,包括Docker概述、Docker镜像管理和定制、Docker容器管理、Docker网络和数据卷管理、Docker编排工具、自动化部署及Kubernetes概述。本书各项目均包含项目实训,可帮助读者通过练习巩固所学的内容。
本书既可以作为本科及高职高专院校云计算及计算机相关专业的教材,又可以作为云计算爱好者的自学用书。
1.理论与实际应用紧密结合
本书以7个项目为主线,在讲述容器技术的基础上,对Docker编排工具、自动化部署、Kubernetes(容器编排引擎)均有介绍。本书实现了技术讲解与应用的统一,有助于“教、学、做一体化”教学的实施。
2.内容组织合理、有效
本书按照由浅入深的顺序引入相关技术与知识。每个项目均被划分为若干个任务,每个任务均详细介绍了任务要求和相关知识。
程宁,男,中共党员,副教授,硕士研究生学位。毕业于武汉大学软件学院。湖北轻工职业技术学院信息工程学院院长。湖北省教育厅技能大赛专家库成员,多次担任全国、省级职业院校技能大赛裁判长、裁判工作。研究方向为网络工程和云计算。主持多项省级课题,在国内多家知名刊物上发表论文数十篇、出版10余本精品教材。获得华为颁发的”HICE网络专家”资格证书。
项目1 Docker概述 1
知识目标 1
能力目标 1
任务1.1 认识Docker技术 1
任务要求 1
相关知识 1
1.1.1 Docker的发展历程 1
1.1.2 Docker的概念与特点 2
任务实现 3
【项目实训】编写Docker技术的调研
报告 6 任务1.2 熟悉Docker的安装方法 6
任务要求 6
相关知识 6
1.2.1 Docker架构 6
1.2.2 Docker的核心组件 7
1.2.3 Docker的版本分类 8
任务实现 8
【项目实训】安装和使用Docker 17
项目2 Docker镜像管理和定制 18
知识目标 18
能力目标 18
任务2.1 查看和管理Docker镜像 18
任务要求 18
相关知识 18
2.1.1 Docker镜像 18
2.1.2 Docker镜像仓库 19
任务实现 21
【项目实训】创建和使用私有仓库 27 任务2.2 创建定制的Docker镜像 28
任务要求 28
相关知识 28
2.2.1 通过commit命令创建镜像 28
2.2.2 利用Dockerfile创建镜像 29
任务实现 34
【项目实训】创建定制Docker镜像 39
项目3 Docker容器管理 40
知识目标 40
能力目标 40
任务3.1 认识Docker容器 40
任务要求 40
相关知识 40
3.1.1 Docker容器 40
3.1.2 容器实现原理 41
3.1.3 Docker镜像与容器的关系 41
任务实现 42 【项目实训】创建和管理容器 50
任务3.2 Docker容器资源控制 51
任务要求 51
相关知识 51
3.2.1 CGroups的含义 51
3.2.2 CGroups的功能和特点 51
任务实现 52
【项目实训】使用CGroups控制资源 55
项目4 Docker网络和数据卷管理 56
知识目标 56
能力目标 56
任务4.1 Docker网络管理 56
4.1.2 Docker网络模式 58
任务实现 65
【项目实训】自定义网络实现跨主机
容器互连 77
任务4.2 Docker数据卷管理 77
任务要求 77 任务要求 56
相关知识 56
4.1.1 Docker容器网络架构 56
相关知识 77
4.2.1 Docker数据卷 77
4.2.2 数据卷容器 78
任务实现 78
【项目实训】使用数据卷容器 83
项目5 Docker编排工具 85
知识目标 85
能力目标 85
任务5.1 Compose编排工具的使用 85
任务要求 85
相关知识 85
5.1.1 Compose工具 85
5.1.2 Compose的常用命令 86
5.1.3 docker-compose.yml文件 89
任务实现 93
【项目实训】多容器搭建WordPress
博客系统 100 任务5.2 Swarm编排工具的使用 100
任务要求 100
相关知识 101
5.2.1 Swarm工具 101
5.2.2 Swarm架构 101
5.2.3 Swarm相关概念 102
5.2.4 Swarm常用命令 102
任务实现 103
【项目实训】使用Swarm集群和自动
编排功能 111
项目6 自动化部署 112
知识目标 112
能力目标 112
任务6.1 Rancher概述 112
任务要求 112
相关知识 113
6.1.1 Rancher平台 113
6.1.2 Rancher的组成 113
任务实现 114
【项目实训】使用Rancher管理平台
部署WordPress应用 124 任务6.2 持续集成 125
任务要求 125
相关知识 125
6.2.1 持续集成概述 125
6.2.2 持续集成的优点 125
6.2.3 持续集成系统的组成 126
6.2.4 持续集成常用工具 126
任务实现 126
【项目实训】自动构建及部署Java
Maven项目 142
项目7 Kubernetes概述 144
知识目标 144
能力目标 144
任务7.1 Kubernetes的发展 144
任务要求 144
相关知识 145
7.1.1 Kubernetes简介 145
7.1.2 Kubernetes核心概念 145
7.1.3 Kubernetes的架构和操作
流程 148
任务实现 149 【项目实训】安装Kubernetes 168
任务7.2 Kubernetes的基本操作 168
任务要求 168
相关知识 169
7.2.1 kubectl概述 169
7.2.2 kubectl常用命令 170
任务实现 173
【项目实训】在Kubernetes上部署
Tomact应用 181