描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121289637
编辑推荐
DockOne社区倾情翻译,阅读本书将掌握Docker性能优化实践,更快、更高效地部署容器,改善开发工作流
通过本书将学到:
优化Dockerfile,优化Docker容器的性能和大小
使用Chef大规模地配置和优化Docker宿主机
使用负载均衡器零停机地部署容器
监听你的Docker容器,并使用ELK收集日志
使用collectd监控Docker容器的性能
使用Apache JMeter来监控Web应用容器的性能
使用标准的Linux诊断工具来诊断和排除容器的故障
使用高效的DevOps实践来准备生产环境
通过本书将学到:
优化Dockerfile,优化Docker容器的性能和大小
使用Chef大规模地配置和优化Docker宿主机
使用负载均衡器零停机地部署容器
监听你的Docker容器,并使用ELK收集日志
使用collectd监控Docker容器的性能
使用Apache JMeter来监控Web应用容器的性能
使用标准的Linux诊断工具来诊断和排除容器的故障
使用高效的DevOps实践来准备生产环境
内容简介
本书共分8章,旨在帮助读者改善其Docker工作流,并保证应用在生产环境中顺利进行。 书中简单回顾了Dockers是如何工作的。除了Docker的基础知识外,读者还会学到如何优化Docker基础架构和大规模应用。本书后讲解的如何在基础架构中部署监控和故障排除系统,更是可以让读者更好地将学到的Docker的特性、概念等运用到实践中。
目 录
目录
前言 …….. XI
1 准备Docker 宿主机 ………………………….. 1
准备一个Docker 宿主机 … 1
使用Docker 镜像 …………… 2
编译Docker 镜像 ……. 3
推送Docker 镜像到资源库 …………………………………… 4
从资源库中拉取Docker 镜像 ……………………………….. 6
运行Docker 容器 …………… 7
暴露容器端口 …………. 7
发布容器端口 …………. 9
链接容器 ………………. 11
交互式容器 …………… 12
小结 ……………………………. 14
2 优化Docker 镜像 …………………………… 15
降低部署时间 ………………. 15
改善镜像编译时间 ……….. 18
采用registry 镜像 …. 19
复用镜像层 …………… 21
减小构建上下文大小 ………………………………………….. 28
使用缓存代理 ……….. 29
减小Docker 镜像的尺寸 . 32
链式指令 ………………. 32
分离编译镜像和部署镜像 …………………………………… 34
小结 ……………………………. 37
3 用Chef 自动化部署Docker ……………… 39
配置管理简介 ………………. 39
使用Chef ……………………. 40
注册Chef 服务器 ….. 41
搭建工作站 …………… 43
启动节点 ………………. 45
配置Docker 宿主机 ……… 47
部署Docker 容器 …………. 51
可选方案 …………………….. 55
小结 ……………………………. 56
4 监控Docker 宿主机和容器 ………………. 57
监控的重要性 ………………. 57
收集数据到Graphite …….. 58
生产系统中的Graphite ……………………………………….. 63
用collectd 监控 ……………. 63
收集Docker 相关数据 ………………………………………… 65
在ELK 栈中整合日志 ….. 69
转发Docker 容器日志 ….. 72
其他监控和日志方案 ……. 75
小结 ……………………………. 76
5 性能基准测试 …………………………………. 77
配置Apache JMeter ……… 77
部署一个简单应用 … 78
安装JMeter …………… 81
生成性能负载 ………………. 82
在JMeter 中生成测试计划 ………………………………….. 83
分析基准测试结果 ……….. 84
检查JMeter 运行结果 …………………………………………. 85
在Graphite 和Kibana 中观察性能 ………………………. 87
性能调优 …………………….. 91
增加并发 ………………. 91
运行分布式测试 ……. 92
其他性能基准工具 ……….. 93
小结 ……………………………. 94
6 负载均衡 ……………………………………….. 95
准备Docker 宿主机集群 . 95
使用Nginx 来做负载均衡 ………………………………………….. 97
水平扩展Docker 应用 … 100
零停机部署 …………. 101
其他负载均衡器 …………. 105
小结 ………………………….. 106
7 容器的故障检测和排除 ………………….. 107
检查容器 ……………………. 107
从外部调试 ………………… 111
追踪系统调用 ……… 111
分析网络数据包 ….. 114
观察块设备 …………. 116
故障检测和排除工具 ….. 119
小结 ………………………….. 120
8 应用到生产环境 ……………………………. 121
Web 运维 …………………… 121
使用Docker 支持Web 应用 ……………………………………… 123
部署应用 ……………………. 124
扩展应用 ……………………. 125
更多阅读资料 …………….. 126
小结 ………………………….. 126
前言 …….. XI
1 准备Docker 宿主机 ………………………….. 1
准备一个Docker 宿主机 … 1
使用Docker 镜像 …………… 2
编译Docker 镜像 ……. 3
推送Docker 镜像到资源库 …………………………………… 4
从资源库中拉取Docker 镜像 ……………………………….. 6
运行Docker 容器 …………… 7
暴露容器端口 …………. 7
发布容器端口 …………. 9
链接容器 ………………. 11
交互式容器 …………… 12
小结 ……………………………. 14
2 优化Docker 镜像 …………………………… 15
降低部署时间 ………………. 15
改善镜像编译时间 ……….. 18
采用registry 镜像 …. 19
复用镜像层 …………… 21
减小构建上下文大小 ………………………………………….. 28
使用缓存代理 ……….. 29
减小Docker 镜像的尺寸 . 32
链式指令 ………………. 32
分离编译镜像和部署镜像 …………………………………… 34
小结 ……………………………. 37
3 用Chef 自动化部署Docker ……………… 39
配置管理简介 ………………. 39
使用Chef ……………………. 40
注册Chef 服务器 ….. 41
搭建工作站 …………… 43
启动节点 ………………. 45
配置Docker 宿主机 ……… 47
部署Docker 容器 …………. 51
可选方案 …………………….. 55
小结 ……………………………. 56
4 监控Docker 宿主机和容器 ………………. 57
监控的重要性 ………………. 57
收集数据到Graphite …….. 58
生产系统中的Graphite ……………………………………….. 63
用collectd 监控 ……………. 63
收集Docker 相关数据 ………………………………………… 65
在ELK 栈中整合日志 ….. 69
转发Docker 容器日志 ….. 72
其他监控和日志方案 ……. 75
小结 ……………………………. 76
5 性能基准测试 …………………………………. 77
配置Apache JMeter ……… 77
部署一个简单应用 … 78
安装JMeter …………… 81
生成性能负载 ………………. 82
在JMeter 中生成测试计划 ………………………………….. 83
分析基准测试结果 ……….. 84
检查JMeter 运行结果 …………………………………………. 85
在Graphite 和Kibana 中观察性能 ………………………. 87
性能调优 …………………….. 91
增加并发 ………………. 91
运行分布式测试 ……. 92
其他性能基准工具 ……….. 93
小结 ……………………………. 94
6 负载均衡 ……………………………………….. 95
准备Docker 宿主机集群 . 95
使用Nginx 来做负载均衡 ………………………………………….. 97
水平扩展Docker 应用 … 100
零停机部署 …………. 101
其他负载均衡器 …………. 105
小结 ………………………….. 106
7 容器的故障检测和排除 ………………….. 107
检查容器 ……………………. 107
从外部调试 ………………… 111
追踪系统调用 ……… 111
分析网络数据包 ….. 114
观察块设备 …………. 116
故障检测和排除工具 ….. 119
小结 ………………………….. 120
8 应用到生产环境 ……………………………. 121
Web 运维 …………………… 121
使用Docker 支持Web 应用 ……………………………………… 123
部署应用 ……………………. 124
扩展应用 ……………………. 125
更多阅读资料 …………….. 126
小结 ………………………….. 126
前 言
媒体评论
在线试读
译者序
Docker 容器技术从LXC 技术发展而来,是一个程序运行、测试和交付的开放平台。其中,可以将不同功能的虚拟主机以一个应用程序的方式进行管理,从而帮助用户实现快速测试、编码和交付。Docker 从出现,到开源,到被新一代技术架构整合,到各种初创公司,无疑一直带有传奇色彩,为IT 技术在中国“互联网 ”创业浪潮中增添了一抹亮色。
围绕Docker 的生态系统,目前在大厂商如Google,以及本地创业公司的共同推动下,在图像化管理、作业调度、作业编排等领域都有了长足发展。另外,目前的发展趋势是,直接在Mac 和Windows 中使用的Docker 已经推出了beta 版本,以一个后台运行的应用形式表现出来。
Docker 更多与IaaS、PaaS 的生态系统对接起来,围绕客户管理、维护、排错和作业调度等需求,出现各种管理方式,例如Kubernetes 和Swarm 等编排工具。其趋势也是将底层Docker 的具体启动、运行、暂停和停止进行包装,以便客户更好地专注于Docker 平台之上的应用,简化底层资源层的管理和维护。
但是对于万千技术爱好者而言,如果不能深入Docker 内部进行运行机制研究、不能对Docker 内部性能进行调优,那么就不能很好地应用这一新技术带来的益处。因为从深入研究技术的角度来看,不仅需要使用集成化工具带来的简便,更需要深入了解Docker 底层的机制,以便真正需要时,找到面临问题的解决方案。
电子工业出版社一直紧跟国外技术热点,适时引进了Docker High Performance 原版书,它是一本面向有一定Linux 基础、想深入了解Docker 内部机理以及如何监控和提高容器性能的Docker 初学者的书。
全书共分8 章,每一章都有详细步骤讲解,从裸机开始,到终运行一个模拟系统为止,读者如能全部操作下来,必将从中获得很大收获。
本书译者都是Docker 社区很有经验的志愿者,在百忙之中抽出宝贵时间进行翻译、校对,希望能对容器技术在国内的推广和使用做出相应的贡献。因为容器技术发展很快,各位译者竭尽所能展现技术,但是水平有限,错误在所难免,希望读者能够批评指正。
杨峰
2016 年7 月
Docker 容器技术从LXC 技术发展而来,是一个程序运行、测试和交付的开放平台。其中,可以将不同功能的虚拟主机以一个应用程序的方式进行管理,从而帮助用户实现快速测试、编码和交付。Docker 从出现,到开源,到被新一代技术架构整合,到各种初创公司,无疑一直带有传奇色彩,为IT 技术在中国“互联网 ”创业浪潮中增添了一抹亮色。
围绕Docker 的生态系统,目前在大厂商如Google,以及本地创业公司的共同推动下,在图像化管理、作业调度、作业编排等领域都有了长足发展。另外,目前的发展趋势是,直接在Mac 和Windows 中使用的Docker 已经推出了beta 版本,以一个后台运行的应用形式表现出来。
Docker 更多与IaaS、PaaS 的生态系统对接起来,围绕客户管理、维护、排错和作业调度等需求,出现各种管理方式,例如Kubernetes 和Swarm 等编排工具。其趋势也是将底层Docker 的具体启动、运行、暂停和停止进行包装,以便客户更好地专注于Docker 平台之上的应用,简化底层资源层的管理和维护。
但是对于万千技术爱好者而言,如果不能深入Docker 内部进行运行机制研究、不能对Docker 内部性能进行调优,那么就不能很好地应用这一新技术带来的益处。因为从深入研究技术的角度来看,不仅需要使用集成化工具带来的简便,更需要深入了解Docker 底层的机制,以便真正需要时,找到面临问题的解决方案。
电子工业出版社一直紧跟国外技术热点,适时引进了Docker High Performance 原版书,它是一本面向有一定Linux 基础、想深入了解Docker 内部机理以及如何监控和提高容器性能的Docker 初学者的书。
全书共分8 章,每一章都有详细步骤讲解,从裸机开始,到终运行一个模拟系统为止,读者如能全部操作下来,必将从中获得很大收获。
本书译者都是Docker 社区很有经验的志愿者,在百忙之中抽出宝贵时间进行翻译、校对,希望能对容器技术在国内的推广和使用做出相应的贡献。因为容器技术发展很快,各位译者竭尽所能展现技术,但是水平有限,错误在所难免,希望读者能够批评指正。
杨峰
2016 年7 月
评论
还没有评论。