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