前言 ....................................................................................................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
· · · · · · (
收起)