本书从实践者的角度,在讲解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
日本の出版史に独自の位置づけで歴史を刻む出版社である工作舎の設立時から構想があったというのが、この『全宇宙誌』である。「
《美得令人心醉的宋词》内容简介:《美得令人心醉的宋词》是特别针对现代初阶宋词爱好者而编辑的宋词选本,是新时代的宋词基本读本
数据驱动的金融时间序列预测模型研究 本书特色 以非线性动力学的观点看来,现代金融理论中金融系统的不确定性恰恰源于其自身就是一个受多种因素综合影响的具有开放性质的...
《敏捷软件需求:团队、项目群与企业级的精益需求实践》全面介绍了如何在敏捷环境中管理软件需求,全书共四部分24章。第I部分提出
《PyTorch深度学习实战》内容简介:本书帮助读者快速深入深度学习。在过去的几年里,我们看到深度学习成了新的动力。它从学术界一路
本书通俗易懂,有高中数学基础即可看懂,同时结合大量案例与漫画,将高度抽象的数学、算法与应用,与现实生活中的案例和事件一一
市場競爭激烈,品質、價格已無分軒輊……風格變成最大的賣點。──VirginiaPostrel,”TheSubstanceofStyle”日本人不僅擅於創造風
主要撰稿人克里斯・杰弗莉(ChrisJefferys)是《服装缝制图解大全》一书的主要撰稿人和组织者。多年从事缝纫和刺绣教学,后成为《
《LTE移动通信术语与缩略词词典》,本书简介:作为3G标准的后续演进,LTE系统以及其演进技术,引入新的OFDM多址方式,支持灵活的带
《随机信号分析(第3版)》为普通高等教育“十一五”国家级规划教材。《随机信号分析(第3版)》主要讨论随机信号的基础理论和分析方
《从零开始学炒股(实战操练图解版)》内容简介:作为投资成本相对较少、变现灵活的一种投资方式,股票投资受广大投资者喜爱;但也
《Unity 2D 游戏开发从入门到精通》内容简介:由于智能手机近些年井喷似的发展和普及,极大地带动了手机游戏的发展,还因此诞生了一
《好用,Excel数据处理高手》内容简介:本书由资深职场人士精心编著,深入讲解Excel强大的数据处理与分析能力,帮助读者轻松处理海
这本书从整体的写作风格来说,会以介绍Go语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样
《你的保险指南》内容简介:如何基于自身身体状况挑选匹配的保险产品? •如何避免拒保拒赔? •如何为家庭成员量身定制保单? 作者结
《庄子人性论》内容简介:本书收入了《开放的心灵与审美的心境——〈庄子〉内篇的心学》《心通道境:心灵的内修与审美空间的外移—
《世界名著大师课:俄罗斯卷》内容简介:本书是世界文学领域的翻译家、权威学者们对俄语文学史上最具有代表性的11部名著的深入解读
《碳中和时代:未来40年财富大转移》内容简介:碳中和代表一个新时代的开始,在这个时代中,所有人的财富都将通过碳排放这个媒介进
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟
本书是一部内容广泛、见解深刻的极有分量的论文集,其作者一批活跃在当代西方文坛上的文化名人、著名设计学家和科学家,有些还曾