前言 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