每周一书《Docker 容器与容器云》分享
资讯
2024-02-08
178
内容简介
本书根据Docker 1.10版和Kubernetes 1.2版对第1版进行了全面更新,从实践者的角度出发,以Docker和Kubernetes为重点,沿着基本用法介绍到核心原理解读到高级实践技巧的思路,一本书讲透当前主流的容器和容器云技术,有助于读者在实际场景中利用Docker容器和容器云解决问题并启发新的思考。全书包括两部分,首部分深入解读Docker容器技术,包括Docker架构与设计、核心源码解读和高级实践技巧;第二部分归纳和比较了三类基于Docker的主流容器云项目,包括专注Docker容器编排与部署的容器云、专注应用支撑的容器云以及一切皆容器的Kubernetes,进而详细解读了Kubernetes核心源码的设计与实现,介绍了几种典型场景下的Kubernetes实践。本书适用于有一定Docker基础的开发者、架构师、IT专业学生以及探索基于Docker构建云计算平台的技术人员,也非常适合作为高校教材或培训资料。
作者简介
浙江大学软件工程实验室(Software Engineering Lab,SEL)云计算团队组建于2011年,组织博士和硕士研究生搭建、分析和钻研开源的云计算技术,包括Docker、Kubernetes、Cloud Foundry、OpenStack、CloudStack、Eucalyptus、Convirt、OpenShift等,积极为开源社区贡献代码,管理和参与线上线下讨论社区,参加国内外云计算技术峰会并发言。以开源社区为技术交流研发平台,浙江大学SEL实验室在4年多的时间里成长为一个充满热情、富有能力的云计算研发团队,也在国内外开源云计算社区,尤其是在Docker、Kubernetes和Cloud Foundry社区得到了广泛认可。
目录
第一部分Docker深入解读
第1章从容器到容器云2
1.1云计算平台2
1.2容器,新的革命3
1.3进化:从容器到容器云7
第2章Docker 基础8
2.1Docker的安装8
2.2Docker操作参数解读9
2.3搭建你的第一个Docker应用栈16
2.3.1Docker集群部署16
2.3.2第一个Hello World17
2.3.3开发、测试和发布一体化27
第3章Docker核心原理解读28
3.1Docker背后的内核知识28
3.1.1namespace资源隔离28
3.1.2cgroups资源限制45
3.2Docker架构概览53
3.2.1Docker daemon54
3.2.2Docker client54
3.2.3镜像管理54
3.2.4execdriver、volumedriver、graphdriver55
3.2.5network55
3.3client和daemon56
3.3.1client模式56
3.3.2daemon模式58
3.3.3从client到daemon64
3.4libcontainer67
3.4.1libcontainer的工作方式69
3.4.2libcontainer实现原理70
3.4.3使用runC与libcontainer进行交互75
3.5Docker镜像管理77
3.5.1什么是Docker镜像77
3.5.2Docker镜像关键概念80
3.5.3Docker镜像构建操作81
3.5.4Docker镜像的分发方法84
3.6Docker存储管理87
3.6.1Docker镜像元数据管理87
3.6.2Docker存储驱动89
3.7Docker数据卷99
3.7.1数据卷的使用方式100
3.7.2数据卷原理解读105
3.8Docker网络管理108
3.8.1Docker网络基础108
3.8.2Docker daemon网络配置原理116
3.8.3libcontainer网络配置原理119
3.8.4传统的link原理解析125
3.8.5新的link介绍127
3.9Docker与容器安全129
3.9.1Docker的安全机制129
3.9.2Docker安全问题135
3.9.3Docker安全的解决方案139
第4章Docker 高级实践技巧151
4.1容器化思维151
4.1.1SSH服务器的替代方案151
4.1.2Docker内应用日志管理方案152
4.1.3容器化思维及更多153
4.2Docker高级网络实践153
4.2.1玩转Linux networknamespace154
4.2.2pipework原理解析159
4.2.3pipework跨主机通信165
4.2.4OVS划分VLAN170
4.2.5OVS隧道模式174
4.3Dockerfile最佳实践187
4.3.1Dockerfile的使用187
4.3.2Dockerfile实践心得191
4.4Docker容器的监控手段193
4.4.1Docker容器监控维度194
4.4.2容器监控命令195
4.4.3常用的容器监控工具197
4.5容器化应用构建的基础:高可用配置中心201
4.5.1etcd经典应用场景201
4.5.2etcd实现原理206
第二部分Docker云平台解读
第5章构建自己的容器云222
5.1再谈云平台的层次架构222
5.2从小工到专家225
第6章专注编排与部署:三剑客与Fleet230
6.1编排小神器Fig/Compose230
6.1.1再谈容器编排与部署230
6.1.2Compose原理:一探究竟233
6.2跨平台宿主环境管理工具Machine237
6.2.1Machine与虚拟机软件237
6.2.2Machine与IaaS平台238
6.2.3Machine小结239
6.3集群抽象工具Swarm240
6.3.1Swarm简介240
6.3.2试用Swarm241
6.3.3Swarm集群的多种创建方式243
6.3.4Swarm对请求的处理245
6.3.5Swarm集群的调度策略245
6.3.6Swarm集群高可用(HA)246
6.3.7Swarm与Machine247
6.3.8Swarm小结248
6.4编排之秀Fleet248
6.4.1旧问题新角度:Docker distro249
6.4.2Fleet的原理剖析252
第7章专注应用支撑和运行时:Flynn和Deis258
7.1Flynn,一个小而美的两层架构258
7.1.1第0层:容器云的基础设施259
7.1.2第1层:容器云的功能框架259
7.1.3Flynn体系架构与实现原理260
7.2谈谈Deis与Flynn270
7.2.1应用发布上的比较271
7.2.2关于Deis的一些思考273
第8章一切皆容器:Kubernetes274
8.1Kubernetes是个什么样的项目274
8.2Kubernetes的设计解读275
8.2.1一个典型案例:Guestbook275
8.2.2pod设计解读277
8.2.3replication controller设计解读288
8.2.4service的设计解读294
8.2.5新一代副本控制器replica set306
8.2.6Deployment307
8.2.7DaemonSet312
8.2.8ConfigMap312
8.2.9Job317
8.2.10Horizontal Pod Autoscaler318
8.3Kubernetes核心组件解读320
8.3.1Kubernetes的整体架构320
8.3.2APIServer321
8.3.3scheduler328
8.3.4controller manager338
8.3.5kubelet346
8.3.6kube-proxy352
8.3.7核心组件协作流程362
8.4Kubernetes存储核心原理366
8.4.1volume设计解读366
8.4.2volume实现原理分析367
8.4.3volume使用案例368
8.4.4persistent volume371
8.5Kubernetes网络核心原理372
8.5.1单pod单IP模型373
8.5.2pod和网络容器374
8.5.3实现Kubernetes的网络模型377
8.6Kubernetes多租户管理与资源控制381
8.6.1namespace设计解读381
8.6.2Kubernetes用户认证机制385
8.6.3Kubernetes用户授权机制387
8.6.4Kubernetes多维资源管理机制admission control390
8.7Kubernetes高级实践402
8.7.1应用健康检查402
8.7.2高可用性405
8.7.3日志408
8.7.4集成DNS410
8.7.5容器上下文环境412
8.8Kubernetes未来动向414
8.8.1Ubernetes414
8.8.2petSet415
8.8.3performance417
8.8.4rescheduler417
8.8.5OCI标准419
8.9不要停止思考419
第三部分附录
附录ADocker的安装424
附录B阅读Docker源代码的神兵利器432
附录C快速熟悉开源项目441
附录Dcgroups的测试与使用444
附录Ecgroups子系统配置参数介绍448
附录FKubernetes的安装453
后记457
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本公众号不拥有所有权,也不承担相关法律责任。如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:chenyue@tianbo.com.cn 进行举报,并提供相关证据,一经查实,本公众号将立刻删除涉嫌侵权内容。
书籍资源请微信搜索关注中科院计算所培训中心公众号,添加公众号上的微信客服咨询。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
内容简介
本书根据Docker 1.10版和Kubernetes 1.2版对第1版进行了全面更新,从实践者的角度出发,以Docker和Kubernetes为重点,沿着基本用法介绍到核心原理解读到高级实践技巧的思路,一本书讲透当前主流的容器和容器云技术,有助于读者在实际场景中利用Docker容器和容器云解决问题并启发新的思考。全书包括两部分,首部分深入解读Docker容器技术,包括Docker架构与设计、核心源码解读和高级实践技巧;第二部分归纳和比较了三类基于Docker的主流容器云项目,包括专注Docker容器编排与部署的容器云、专注应用支撑的容器云以及一切皆容器的Kubernetes,进而详细解读了Kubernetes核心源码的设计与实现,介绍了几种典型场景下的Kubernetes实践。本书适用于有一定Docker基础的开发者、架构师、IT专业学生以及探索基于Docker构建云计算平台的技术人员,也非常适合作为高校教材或培训资料。
作者简介
浙江大学软件工程实验室(Software Engineering Lab,SEL)云计算团队组建于2011年,组织博士和硕士研究生搭建、分析和钻研开源的云计算技术,包括Docker、Kubernetes、Cloud Foundry、OpenStack、CloudStack、Eucalyptus、Convirt、OpenShift等,积极为开源社区贡献代码,管理和参与线上线下讨论社区,参加国内外云计算技术峰会并发言。以开源社区为技术交流研发平台,浙江大学SEL实验室在4年多的时间里成长为一个充满热情、富有能力的云计算研发团队,也在国内外开源云计算社区,尤其是在Docker、Kubernetes和Cloud Foundry社区得到了广泛认可。
目录
第一部分Docker深入解读
第1章从容器到容器云2
1.1云计算平台2
1.2容器,新的革命3
1.3进化:从容器到容器云7
第2章Docker 基础8
2.1Docker的安装8
2.2Docker操作参数解读9
2.3搭建你的第一个Docker应用栈16
2.3.1Docker集群部署16
2.3.2第一个Hello World17
2.3.3开发、测试和发布一体化27
第3章Docker核心原理解读28
3.1Docker背后的内核知识28
3.1.1namespace资源隔离28
3.1.2cgroups资源限制45
3.2Docker架构概览53
3.2.1Docker daemon54
3.2.2Docker client54
3.2.3镜像管理54
3.2.4execdriver、volumedriver、graphdriver55
3.2.5network55
3.3client和daemon56
3.3.1client模式56
3.3.2daemon模式58
3.3.3从client到daemon64
3.4libcontainer67
3.4.1libcontainer的工作方式69
3.4.2libcontainer实现原理70
3.4.3使用runC与libcontainer进行交互75
3.5Docker镜像管理77
3.5.1什么是Docker镜像77
3.5.2Docker镜像关键概念80
3.5.3Docker镜像构建操作81
3.5.4Docker镜像的分发方法84
3.6Docker存储管理87
3.6.1Docker镜像元数据管理87
3.6.2Docker存储驱动89
3.7Docker数据卷99
3.7.1数据卷的使用方式100
3.7.2数据卷原理解读105
3.8Docker网络管理108
3.8.1Docker网络基础108
3.8.2Docker daemon网络配置原理116
3.8.3libcontainer网络配置原理119
3.8.4传统的link原理解析125
3.8.5新的link介绍127
3.9Docker与容器安全129
3.9.1Docker的安全机制129
3.9.2Docker安全问题135
3.9.3Docker安全的解决方案139
第4章Docker 高级实践技巧151
4.1容器化思维151
4.1.1SSH服务器的替代方案151
4.1.2Docker内应用日志管理方案152
4.1.3容器化思维及更多153
4.2Docker高级网络实践153
4.2.1玩转Linux networknamespace154
4.2.2pipework原理解析159
4.2.3pipework跨主机通信165
4.2.4OVS划分VLAN170
4.2.5OVS隧道模式174
4.3Dockerfile最佳实践187
4.3.1Dockerfile的使用187
4.3.2Dockerfile实践心得191
4.4Docker容器的监控手段193
4.4.1Docker容器监控维度194
4.4.2容器监控命令195
4.4.3常用的容器监控工具197
4.5容器化应用构建的基础:高可用配置中心201
4.5.1etcd经典应用场景201
4.5.2etcd实现原理206
第二部分Docker云平台解读
第5章构建自己的容器云222
5.1再谈云平台的层次架构222
5.2从小工到专家225
第6章专注编排与部署:三剑客与Fleet230
6.1编排小神器Fig/Compose230
6.1.1再谈容器编排与部署230
6.1.2Compose原理:一探究竟233
6.2跨平台宿主环境管理工具Machine237
6.2.1Machine与虚拟机软件237
6.2.2Machine与IaaS平台238
6.2.3Machine小结239
6.3集群抽象工具Swarm240
6.3.1Swarm简介240
6.3.2试用Swarm241
6.3.3Swarm集群的多种创建方式243
6.3.4Swarm对请求的处理245
6.3.5Swarm集群的调度策略245
6.3.6Swarm集群高可用(HA)246
6.3.7Swarm与Machine247
6.3.8Swarm小结248
6.4编排之秀Fleet248
6.4.1旧问题新角度:Docker distro249
6.4.2Fleet的原理剖析252
第7章专注应用支撑和运行时:Flynn和Deis258
7.1Flynn,一个小而美的两层架构258
7.1.1第0层:容器云的基础设施259
7.1.2第1层:容器云的功能框架259
7.1.3Flynn体系架构与实现原理260
7.2谈谈Deis与Flynn270
7.2.1应用发布上的比较271
7.2.2关于Deis的一些思考273
第8章一切皆容器:Kubernetes274
8.1Kubernetes是个什么样的项目274
8.2Kubernetes的设计解读275
8.2.1一个典型案例:Guestbook275
8.2.2pod设计解读277
8.2.3replication controller设计解读288
8.2.4service的设计解读294
8.2.5新一代副本控制器replica set306
8.2.6Deployment307
8.2.7DaemonSet312
8.2.8ConfigMap312
8.2.9Job317
8.2.10Horizontal Pod Autoscaler318
8.3Kubernetes核心组件解读320
8.3.1Kubernetes的整体架构320
8.3.2APIServer321
8.3.3scheduler328
8.3.4controller manager338
8.3.5kubelet346
8.3.6kube-proxy352
8.3.7核心组件协作流程362
8.4Kubernetes存储核心原理366
8.4.1volume设计解读366
8.4.2volume实现原理分析367
8.4.3volume使用案例368
8.4.4persistent volume371
8.5Kubernetes网络核心原理372
8.5.1单pod单IP模型373
8.5.2pod和网络容器374
8.5.3实现Kubernetes的网络模型377
8.6Kubernetes多租户管理与资源控制381
8.6.1namespace设计解读381
8.6.2Kubernetes用户认证机制385
8.6.3Kubernetes用户授权机制387
8.6.4Kubernetes多维资源管理机制admission control390
8.7Kubernetes高级实践402
8.7.1应用健康检查402
8.7.2高可用性405
8.7.3日志408
8.7.4集成DNS410
8.7.5容器上下文环境412
8.8Kubernetes未来动向414
8.8.1Ubernetes414
8.8.2petSet415
8.8.3performance417
8.8.4rescheduler417
8.8.5OCI标准419
8.9不要停止思考419
第三部分附录
附录ADocker的安装424
附录B阅读Docker源代码的神兵利器432
附录C快速熟悉开源项目441
附录Dcgroups的测试与使用444
附录Ecgroups子系统配置参数介绍448
附录FKubernetes的安装453
后记457
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本公众号不拥有所有权,也不承担相关法律责任。如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:chenyue@tianbo.com.cn 进行举报,并提供相关证据,一经查实,本公众号将立刻删除涉嫌侵权内容。
书籍资源请微信搜索关注中科院计算所培训中心公众号,添加公众号上的微信客服咨询。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!