第一部分 Docker深入解讀
第1章 從容器到容器雲 2
1.1 雲計算平颱 2
1.2 容器,新的革命 3
1.3 進化:從容器到容器雲 7
第2章 Docker基礎 8
2.1 Docker的安裝 8
2.2 Docker操作參數解讀 9
2.3 搭建你的第一個Docker應用棧 16
2.3.1 Docker集群部署 16
2.3.2 第一個Hello World 17
2.3.3 開發、測試和發布一體化 27
第3章 Docker核心原理解讀 28
3.1 Docker背後的內核知識 28
3.1.1 namespace資源隔離 28
3.1.2 cgroups資源限製 45
3.2 Docker架構概覽 53
3.3 client和daemon 55
3.3.1 client模式 55
3.3.2 daemon模式 57
3.3.3 從client到daemon 63
3.4 libcontainer 66
3.4.1 libcontainer的工作方式 68
3.4.2 libcontainer實現原理 69
3.4.3 使用nsinit與libcontainer進行交互 74
3.5 Docker鏡像管理 76
3.5.1 什麼是Docker鏡像 76
3.5.2 Docker鏡像關鍵概念 78
3.5.3 Docker鏡像操作解析 80
3.5.4 Docker容器的遷移方法 84
3.6 Docker存儲驅動 85
3.6.1 存儲驅動的功能與管理 86
3.6.2 aufs與Device Mapper驅動 87
3.7 Docker數據捲 93
3.7.1 數據捲的使用方式 94
3.7.2 數據捲原理解讀 98
3.8 Docker網絡管理 102
3.8.1 Docker網絡基礎 102
3.8.2 Docker daemon網絡配置原理 107
3.8.3 libcontainer網絡配置原理 111
3.8.4 Link原理解析 115
3.9 Docker與容器安全 118
3.9.1 Docker的安全機製 118
3.9.2 Docker安全問題 122
3.9.3 Docker安全的解決方案 126
第4章 Docker高級實踐技巧 138
4.1 容器化思維 138
4.1.1 SSH服務器的替代方案 139
4.1.2 Docker內應用日誌管理方案 139
4.1.3 其他技巧匯總 140
4.2 Docker高級網絡實踐 142
4.2.1 玩轉Linux network namespace 143
4.2.2 pipework原理解析 148
4.2.3 pipework跨主機通信 154
4.2.4 OVS劃分VLAN 159
4.2.5 OVS隧道模式 163
4.3 Dockerfile最佳實踐 175
4.3.1 Dockerfile的使用 176
4.3.2 Dockerfile實踐心得 180
4.4 Docker容器的監控手段 182
4.4.1 Docker容器監控維度 182
4.4.2 容器監控命令 183
4.4.3 常用的容器監控工具 186
4.5 容器化應用構建的基礎:高可用配置中心 189
4.5.1 etcd經典應用場景 190
4.5.2 etcd實現原理 194
第二部分 Docker雲平颱解讀
第5章 構建自己的容器雲 210
5.1 再談雲平颱的層次架構 210
5.2 從小工到專傢 213
第6章 專注編排與部署:三劍客與Fleet 218
6.1 編排小神器Fig 218
6.1.1 再談容器編排與部署 218
6.1.2 Compose原理:一探究竟 221
6.2 環境透明化工具Machine 225
6.2.1 Machine與虛擬機軟件 226
6.2.2 Machine與IaaS平颱 227
6.2.3 Machine小結 228
6.3 集群抽象工具Swarm 229
6.3.1 Swarm簡介 229
6.3.2 試用Swarm 230
6.3.3 Swarm集群的多種創建方式 231
6.3.4 Swarm對請求的處理 233
6.3.5 Swarm集群的調度策略 233
6.3.6 Swarm與Machine 234
6.4 編排之秀Fleet 235
6.4.1 舊問題新角度:Docker distro 235
6.4.2 Fleet的原理剖析 239
第7章 專注應用支撐和運行時:Flynn 和Deis 245
7.1 Flynn,一個小而美的兩層架構 245
7.1.1 第0層:容器雲的基礎設施 246
7.1.2 第1層:容器雲的功能框架 246
7.1.3 Flynn體係架構與實現原理 247
7.2 談談Deis與Flynn 257
7.2.1 應用發布上的比較 258
7.2.2 關於Deis的一些思考 260
第8章 一切皆容器:Kubernetes 261
8.1 Kubernetes簡介 261
8.2 Kubernetes的設計解讀 262
8.2.1 一個典型案例:Guestbook. 263
8.2.2 Kubernetes核心概念剖析 265
8.3 Kubernetes核心組件解讀 294
8.3.1 APIServer 294
8.3.2 Scheduler 301
8.3.3 Controller Manager 309
8.3.4 kubelet 314
8.3.5 kube-proxy 320
8.3.6 核心組件協作流程 325
8.4 Kubernetes用戶認證授權與資源管理 328
8.4.1 namespace解析 328
8.4.2 基於token文件或客戶端證書的認證機製 333
8.4.3 基於訪問規則的授權機製 334
8.4.4 基於資源的授權控製AdmissionControl 336
8.5 Kubernetes網絡核心原理 347
8.5.1 單pod單IP模型 348
8.5.2 pod和網絡容器 350
8.5.3 實現Kubernetes的網絡模型 353
8.6 Kubernetes高級實踐 356
8.6.1 Kubernetes高級實踐之應用健康檢查 356
8.6.2 Kubernetes高級實踐之高可用性 358
8.6.3 Kubernetes高級實踐之日誌 362
8.6.4 Kubernetes高級實踐之集成DNS 364
8.6.5 Kubernetes高級實踐之容器上下文環境 366
8.7 不要停止思考 368
第三部分 附錄
附錄A Docker的安裝 372
附錄B 閱讀Docker源代碼的神兵利器 379
附錄C 快速熟悉開源項目 388
附錄D cgroups的測試與使用 391
附錄E cgroups子係統配置參數介紹 395
附錄F Kubernetes的安裝 400
後記 403
· · · · · · (
收起)