第3版前言
第一部分 基礎入門
第1章 初識Docker與容器 3
1.1 什麼是Docker 3
1.2 為什麼要使用Docker 6
1.3 Docker與虛擬化 8
1.4 本章小結 9
第2章 核心概念與安裝配置 10
2.1 核心概念 10
2.2 安裝Docker引擎 11
2.2.1 Ubuntu 環境下安裝 Docker 12
2.2.2 CentOS 環境下安裝 Docker 14
2.2.3 通過腳本安裝 15
2.2.4 macOS環境下安裝 Docker 15
2.2.5 Windows環境下安裝Docker 23
2.3 配置 Docker 服務 26
2.4 推薦實踐環境 27
2.5 本章小結 27
第3章 使用Docker鏡像 28
3.1 獲取鏡像 28
3.2 查看鏡像信息 30
3.3 搜尋鏡像 32
3.4 刪除和清理鏡像 33
3.5 創建鏡像 35
3.6 存齣和載入鏡像 36
3.7 上傳鏡像 37
3.8 本章小結 38
第4章 操作Docker容器 39
4.1 創建容器 39
4.2 停止容器 44
4.3 進入容器 46
4.4 刪除容器 47
4.5 導入和導齣容器 48
4.6 查看容器 49
4.7 其他容器命令 50
4.8 本章小結 52
第5章 訪問 Docker 倉庫 53
5.1 Docker Hub 公共鏡像市場 53
5.2 第三方鏡像市場 55
5.3 搭建本地私有倉庫 56
5.4 本章小結 58
第6章 Docker數據管理 59
6.1 數據捲 59
6.2 數據捲容器 60
6.3 利用數據捲容器來遷移數據 62
6.4 本章小結 62
第7章 端口映射與容器互聯 63
7.1 端口映射實現容器訪問 63
7.2 互聯機製實現便捷互訪 64
7.3 本章小結 67
第8章 使用Dockerfile創建鏡像 68
8.1 基本結構 68
8.2 指令說明 70
8.2.1 配置指令 71
8.2.2 操作指令 74
8.3 創建鏡像 75
8.3.1 命令選項 76
8.3.2 選擇父鏡像 77
8.3.3 使用.dockerignore文件 77
8.3.4 多步驟創建 78
8.4 最佳實踐 79
8.5 本章小結 80
第二部分 實戰案例
第9章 操作係統 83
9.1 BusyBox 83
9.2 Alpine 85
9.3 Debian/Ubuntu 86
9.4 CentOS/Fedora 88
9.5 本章小結 89
第10章 為鏡像添加SSH服務 90
10.1 基於commit命令創建 90
10.2 使用Dockerfile創建 93
10.3 本章小結 95
第11章 Web服務與應用 96
11.1 Apache 96
11.2 Nginx 100
11.3 Tomcat 104
11.4 Jetty 108
11.5 LAMP 109
11.6 持續開發與管理 111
11.7 本章小結 114
第12章 數據庫應用 115
12.1 MySQL 115
12.2 Oracle Database XE 117
12.3 MongoDB 118
12.4 Redis 124
12.5 Cassandra 126
12.6 本章小結 129
第13章 分布式處理與大數據平颱 130
13.1 Hadoop 130
13.2 Spark 133
13.3 Storm 136
13.4 Elasticsearch 140
13.5 本章小結 141
第14章 編程開發 142
14.1 C/C++ 142
14.2 Java 146
14.3 Python 149
14.3.1 使用Python官方鏡像 150
14.3.2 使用PyPy 151
14.3.3 使用 Flask 151
14.3.4 相關資源 154
14.4 JavaScript 154
14.4.1 使用Node.js 154
14.4.2 相關資源 158
14.5 Go 158
14.6 本章小結 161
第15章 容器與雲服務 162
15.1 公有雲容器服務 162
15.1.1 AWS 162
15.1.2 Google Cloud Platform 163
15.1.3 Azure 164
15.1.4 騰訊雲 165
15.1.5 阿裏雲 165
15.1.6 華為雲 166
15.1.7 UCloud 167
15.2 容器雲服務 168
15.3 阿裏雲容器服務 172
15.4 時速雲介紹 174
15.5 本章小結 175
第16章 容器實戰思考 176
16.1 Docker 為什麼會成功 176
16.2 研發人員該如何看待容器 177
16.3 容器化開發模式 178
16.4 容器與生産環境 180
16.5 本章小結 182
第三部分 進階技能
第17章 核心實現技術 185
17.1 基本架構 185
17.2 命名空間 187
17.3 控製組 191
17.4 聯閤文件係統 193
17.5 Linux網絡虛擬化 195
17.6 本章小結 197
第18章 配置私有倉庫 199
18.1 安裝Docker Registry 199
18.2 配置TLS證書 201
18.3 管理訪問權限 202
18.4 配置Registry 205
18.5 批量管理鏡像 211
18.6 使用通知係統 214
18.7 本章小結 217
第19章 安全防護與配置 218
19.1 命名空間隔離的安全 218
19.2 控製組資源控製的安全 219
19.3 內核能力機製 219
19.4 Docker服務端的防護 221
19.5 更多安全特性的使用 221
19.6 使用第三方檢測工具 222
19.6.1 Docker Bench 222
19.6.2 clair 223
19.7 本章小結 224
第20章 高級網絡功能 225
20.1 啓動與配置參數 225
20.2 配置容器DNS和主機名 227
20.3 容器訪問控製 228
20.4 映射容器端口到宿主主機的實現 229
20.5 配置容器網橋 231
20.6 自定義網橋 232
20.7 使用OpenvSwitch網橋 233
20.8 創建一個點到點連接 235
20.9 本章小結 236
第21章 libnetwork插件化網絡功能 237
21.1 容器網絡模型 237
21.2 Docker網絡命令 238
21.3 構建跨主機容器網絡 241
21.4 本章小結 243
第四部分 開源項目
第22章 Etcd—高可用的鍵值數據庫 247
22.1 Etcd簡介 247
22.2 安裝和使用Etcd 248
22.3 使用客戶端命令 253
22.3.1 數據類操作 255
22.3.2 非數據類操作 258
22.4 Etcd集群管理 260
22.4.1 構建集群 260
22.4.2 集群參數配置 263
22.5 本章小結 264
第23章 Docker三劍客之Machine 265
23.1 Machine簡介 265
23.2 安裝Machine 265
23.3 使用Machine 266
23.4 Machine命令 268
23.5 本章小結 272
第24章 Docker三劍客之Compose 273
24.1 Compose簡介 273
24.2 安裝與卸載 274
24.3 Compose模闆文件 277
24.4 Compose命令說明 292
24.5 Compose環境變量 299
24.6 Compose應用案例一:Web負載均衡 300
24.7 Compose應用案例二:大數據Spark集群 304
24.8 本章小結 309
第25章 Docker三劍客之Swarm 310
25.1 Swarm簡介 310
25.2 基本概念 311
25.3 使用Swarm 313
25.4 使用服務命令 316
25.5 本章小結 319
第26章 Mesos—優秀的集群資源調度平颱 321
26.1 簡介 321
26.2 Mesos安裝與使用 322
26.3 原理與架構 330
26.3.1 架構 330
26.3.2 基本單元 331
26.3.3 調度 331
26.3.4 高可用性 332
26.4 Mesos配置解析 333
26.4.1 通用項 333
26.4.2 master專屬配置項 333
26.4.3 slave專屬配置項 335
26.5 日誌與監控 338
26.6 常見應用框架 340
26.7 本章小結 341
第27章 Kubernetes—生産級容器集群平颱 343
27.1 簡介 343
27.2 核心概念 345
27.3 資源抽象對象 348
27.3.1 容器組 348
27.3.2 服務 349
27.3.3 存儲捲 350
27.4 控製器抽象對象 351
27.5 其他抽象對象 353
27.6 快速體驗 355
27.7 重要組件 359
27.7.1 Etcd 360
27.7.2 kube-apiserver 360
27.7.3 kube-scheduler 361
27.7.4 kube-controller-manager 362
27.7.5 kubelet 363
27.7.6 kube-proxy 364
27.8 使用kubectl 365
27.8.1 獲取kubectl 365
27.8.2 命令格式 366
27.8.3 全局參數 367
27.8.4 通用子命令 369
27.9 網絡設計 372
27.10 本章小結 374
第28章 其他相關項目 375
28.1 持續集成 375
28.2 容器管理 377
28.2.1 Portainer 377
28.2.2 Panamax 378
28.2.3 Seagull 378
28.3 編程開發 380
28.4 網絡支持 381
28.4.1 Pipework 381
28.4.2 Flannel項目 382
28.4.3 Weave Net項目 382
28.4.4 Calico項目 383
28.5 日誌處理 383
28.6 服務代理 385
28.7 標準與規範 389
28.8 其他項目 392
28.9 本章小結 396
附錄
附錄A 常見問題總結 398
附錄B Docker命令查詢 404
附錄C 參考資源鏈接 411
· · · · · · (
收起)