本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决问题并启发新的思考。全书包括两部分,第一部分深入解读Docker容器技术,包括Docker入门、架构总览、Docker容器核心原理解读,以及Docker高级实践技巧;第二部分深入解读基于Docker的主流容器云技术,讲解了构建自己的容器云的方法,深入分析了3类Docker容器云技术的实现方法的设计思路,包括专注Docker容器编排与部署的容器云(Compose、Machine、Swarm、Fleet)、专注应用支撑的容器云(Flynn、Deis),以及一切皆容器的Kubernetes。
本书适用于有一定Docker基础的开发者、架构师、IT专业学生以及探索基于Docker构建云计算平台的技术人员,也非常适合作为高校教材或培训资料。
第一部分 Docker深入解读
第1章 从容器到容器云2
1.1 云计算平台2
1.2 容器,新的革命3
1.3 进化:从容器到容器云7
第2章 Docker基础8
2.1 Docker的安装8
2.2 Docker操作参数解读9
2.3 搭建你的第一个Docker应用栈16
2.3.1 Docker集群部署16
2.3.2 第一个Hello World17
2.3.3 开发、测试和发布一体化27
第3章 Docker核心原理解读28
3.1 Docker背后的内核知识28
3.1.1 namespace资源隔离28
3.1.2 cgroups资源限制45
3.2 Docker架构概览53
3.3 client和daemon55
3.3.1 client模式55
3.3.2 daemon模式57
3.3.3 从client到daemon63
3.4 libcontainer66
3.4.1 libcontainer的工作方式68
3.4.2 libcontainer实现原理69
3.4.3 使用nsinit与libcontainer进行交互74
3.5 Docker镜像管理76
3.5.1 什么是Docker镜像76
3.5.2 Docker镜像关键概念78
3.5.3 Docker镜像操作解析80
3.5.4 Docker容器的迁移方法84
3.6 Docker存储驱动85
3.6.1 存储驱动的功能与管理86
3.6.2 aufs与Device Mapper驱动87
3.7 Docker数据卷93
3.7.1 数据卷的使用方式94
3.7.2 数据卷原理解读98
3.8 Docker网络管理102
3.8.1 Docker网络基础102
3.8.2 Docker daemon网络配置原理107
3.8.3 libcontainer网络配置原理111
3.8.4 Link原理解析115
3.9 Docker与容器安全118
3.9.1 Docker的安全机制118
3.9.2 Docker安全问题122
3.9.3 Docker安全的解决方案126
第4章 Docker高级实践技巧138
4.1 容器化思维138
4.1.1 SSH服务器的替代方案139
4.1.2 Docker内应用日志管理方案139
4.1.3 其他技巧汇总140
4.2 Docker高级网络实践142
4.2.1 玩转Linux network namespace143
4.2.2 pipework原理解析148
4.2.3 pipework跨主机通信154
4.2.4 OVS划分VLAN159
4.2.5 OVS隧道模式163
4.3 Dockerfile最佳实践175
4.3.1 Dockerfile的使用176
4.3.2 Dockerfile实践心得180
4.4 Docker容器的监控手段182
4.4.1 Docker容器监控维度182
4.4.2 容器监控命令183
4.4.3 常用的容器监控工具186
4.5 容器化应用构建的基础:高可用配置中心189
4.5.1 etcd经典应用场景190
4.5.2 etcd实现原理194
第二部分 Docker云平台解读
第5章 构建自己的容器云210
5.1 再谈云平台的层次架构210
5.2 从小工到专家213
第6章 专注编排与部署:三剑客与Fleet218
6.1 编排小神器Fig218
6.1.1 再谈容器编排与部署218
6.1.2 Compose原理:一探究竟221
6.2 环境透明化工具Machine225
6.2.1 Machine与虚拟机软件226
6.2.2 Machine与IaaS平台227
6.2.3 Machine小结228
6.3 集群抽象工具Swarm229
6.3.1 Swarm简介229
6.3.2 试用Swarm230
6.3.3 Swarm集群的多种创建方式231
6.3.4 Swarm对请求的处理233
6.3.5 Swarm集群的调度策略233
6.3.6 Swarm与Machine234
6.4 编排之秀Fleet235
6.4.1 旧问题新角度:Docker distro235
6.4.2 Fleet的原理剖析239
第7章 专注应用支撑和运行时:Flynn 和Deis245
7.1 Flynn,一个小而美的两层架构245
7.1.1 第0层:容器云的基础设施 246
7.1.2 第1层:容器云的功能框架 246
7.1.3 Flynn体系架构与实现原理 247
7.2 谈谈Deis与Flynn 257
7.2.1 应用发布上的比较 258
7.2.2 关于Deis的一些思考 260
第8章 一切皆容器:Kubernetes 261
8.1 Kubernetes简介 261
8.2 Kubernetes的设计解读 262
8.2.1 一个典型案例:Guestbook. 263
8.2.2 Kubernetes核心概念剖析 265
8.3 Kubernetes核心组件解读 294
8.3.1 APIServer 294
8.3.2 Scheduler 301
8.3.3 Controller Manager 309
8.3.4 kubelet 314
8.3.5 kube-proxy 320
8.3.6 核心组件协作流程 325
8.4 Kubernetes用户认证授权与资源管理 328
8.4.1 namespace解析 328
8.4.2 基于token文件或客户端证书的认证机制 333
8.4.3 基于访问规则的授权机制 334
8.4.4 基于资源的授权控制AdmissionControl 336
8.5 Kubernetes网络核心原理 347
8.5.1 单pod单IP模型 348
8.5.2 pod和网络容器 350
8.5.3 实现Kubernetes的网络模型 353
8.6 Kubernetes高级实践 356
8.6.1 Kubernetes高级实践之应用健康检查 356
8.6.2 Kubernetes高级实践之高可用性 358
8.6.3 Kubernetes高级实践之日志 362
8.6.4 Kubernetes高级实践之集成DNS 364
8.6.5 Kubernetes高级实践之容器上下文环境 366
8.7 不要停止思考368
第三部分 附录
附录A Docker的安装 372
附录B 阅读Docker源代码的神兵利器 379
附录C 快速熟悉开源项目 388
附录D cgroups的测试与使用 391
附录E cgroups子系统配置参数介绍 395
附录F Kubernetes的安装 400
后记 403
本书以Spring应用程序开发为中心,全面讲解如何运用SpringBoot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅
插画师是绘制广泛用于各种场合的图画的专业绘画人员。有时,插画师会碰到一些从未想过,从来接触过,也没有任何经验的插画委托。
《当代中国农村》内容简介:全面展示中国农村发展成就中国农业现代化建设;创新农业经营体制,转变农业发展方式农业供给侧结构性改
Thisgroundbreakingbookdefinestheemergingfieldofinformationvisualizationandoffers...
《汽车发动机试验学教程》是对现代汽车发动机试验进行全面系统论述的专业教科书。书中首先论述了进行汽车发动机试验必备的试验台
《无止之境:中国平安成长之路》内容简介:人文财经观察家秦朔及其团队新作首部观察中国平安集团32年发展历程的传记作品辉煌再现中
陈宇恒、肖竹、王洪编著的《LTE协议栈与信令分析》首先介绍了LTE系统架构,主要包括网络实体、网络接口、主要协议等,随后深入地
《AI的25种可能》内容简介:世界上最聪明的网站Edge,每年一次,让100位全球最伟大的头脑坐在同一张桌子旁,共同解答关乎人类命运的
编译原理-编译程序构造实践教程 本书特色 《编译原理:编译程序构造与实践教程》:牢牢掌握编译程序构造的基本原理深入理解C程序设计语言的特性实践中领悟、实践中提升...
MATLAB与科学计算-(第3版) 本书特色 王沫然编著的《matlab与科学计算(第3版畅销书升级版)》对*新版的matlab的科学计算功能做了详尽的...
本书内容包括:HSPA标准的研究进展和未来发展蓝图;HSPA对无线网络的影响、协议结构以及网元的功能和接口,并给出了无线资源控制
计算动力学 内容简介 本书将计算结构动力学、计算冲击动力学和计算多体系统动力学内容有机整合,系统讲授工程结构和机械系统在各类瞬态载荷作用下动力学行为的数值分析方...
《儿童身体训练动作手册:弹力带训练》内容简介:“儿童身体训练动作指导丛书”共7册,是中国青少年体能训练师认证参考教材,并得到
《影像杂谈》内容简介:作者影像评论十二篇首次结集,并配以作者的手机快照。《影像杂谈》以画家之眼,谈论时间对于摄影的参与,记
《服务市场营销(第二版)》内容简介:《服务市场营销(第2版)》以市场营销的基本原理为指导 ,以服务领域为研究重点,深入浅出地
《用“芯”探核:龙芯派开发实战》内容简介:这是一本带领读者快速熟悉、掌握龙芯派开发的专著。本书基于龙芯派二代开发板,首先由
在美丽的风景背后,也有一些见不得光的阴暗角落,而这时候的科罗拉多由俨然成了助纣为虐的帮凶,只有无数的冤魂在这里游荡,其中
《数据虚拟化》内容简介:本书介绍了在当前大数据、人工智能的背景下,使用数据虚拟化技术实现多源异构数据集成的方法。本书共9章,
图形设计(第二版) 内容简介 本书的整理和写作,是著者基于现代图形设计的现状以及对如何将民族的图形元素结合于现代的设计之中、图形语言如何拓展外延、如何与其他各门...
《战时国民政府行政机构改革(1937~1945)》内容简介:本书旨在考察抗战时期国民政府实施行政机构改革的全过程,分析国民政府为实