Docker技術(shù)入門與實戰(zhàn) 第3版
定 價:89 元
叢書名:華章IT
- 作者:楊保華 戴王劍 曹亞侖
- 出版時間:2018/9/1
- ISBN:9787111608523
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP316.85
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書從Docker基本原理開始,深入淺出地講解Docker的構(gòu)建與操作,內(nèi)容系統(tǒng)全面,可幫助開發(fā)人員、運維人員快速部署Docker應(yīng)用。本書分為四大部分:基礎(chǔ)入門、實戰(zhàn)案例、進階技能、開源項目,*部分(第1~8章)介紹Docker與虛擬化技術(shù)的基本概念,包括安裝、鏡像、容器、倉庫、數(shù)據(jù)卷、端口映射等;第二部分(第9~16章)通過案例介紹Docker的應(yīng)用方法,包括與各種操作系統(tǒng)平臺、SSH服務(wù)的鏡像、Web服務(wù)器與應(yīng)用、數(shù)據(jù)庫的應(yīng)用、各類編程語言的接口、容器云等,還介紹了作者在容器實戰(zhàn)中的思考與經(jīng)驗總結(jié);第三部分(第17~21章)介紹一些進階技能,如Docker核心技術(shù)實現(xiàn)原理、安全、高級網(wǎng)絡(luò)配置、libnetwork插件化網(wǎng)絡(luò)功能等;第四部分(第22~28章)介紹與容器開發(fā)相關(guān)的開源項目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。第3版根據(jù) Docker 18.x 系列版本對全書內(nèi)容進行了全面修訂。
入門Docker的首本書,經(jīng)典暢銷書升級,系統(tǒng)化掌握容器技術(shù)棧,第3版基于 Docker 新 18.x 系列版本。
Docker 誕生于云計算第一個十年的尾巴上。眨眼間,它所代表的現(xiàn)代容器技術(shù),已經(jīng)占據(jù)了云計算的半壁江山。
過去十年里,信息科技依然保持了飛躍式的發(fā)展:深度學習的突破給人類擺脫重復(fù)勞動帶來曙光;分布式賬本的崛起為賽博空間奠定信任基礎(chǔ);物聯(lián)網(wǎng)的成熟讓整個星球都將變得更加智慧……這一切都離不開底層計算技術(shù)的持續(xù)演化,特別是新一代容器化計算平臺,為經(jīng)典計算結(jié)構(gòu)釋放出了巨大的潛力。
而計算科技的進步,一直以來就與開源技術(shù)和開放文化息息相關(guān)。無論是早期的 Unix/Linux 操作系統(tǒng),還是后來包括 Docker 在內(nèi)的諸多應(yīng)用軟件,都積極推動了整個信息產(chǎn)業(yè)的發(fā)展。當下正是新一波科技浪潮來臨前的關(guān)鍵時期,掌握最前沿的科技成果,學習最先進的開源工具,對于推動我國乃至全球信息產(chǎn)業(yè)的進步都至關(guān)重要。
信息科技是全人類的寶貴財富,也是現(xiàn)代文明的基礎(chǔ)支撐。每一個信息行業(yè)從業(yè)人員都應(yīng)該意識到,持續(xù)推動科技創(chuàng)新和文明進步,是時代賦予的重要責任。
Docker 容器技術(shù)臻于成熟后,社區(qū)涌現(xiàn)出眾多優(yōu)秀的開源項目。這些項目或讓計算更加高效便捷,或讓平臺更加穩(wěn)定智能,共同構(gòu)建了繁榮的容器計算生態(tài)。圍繞這些最新進展,本書第3版重點介紹了容器核心技術(shù)的最新特性,讓讀者可以更好地掌握和使用最先進的容器技術(shù)。
出版之際,本書開源版本的訪問量已經(jīng)突破一千萬,真誠感謝近百位同仁對圖書內(nèi)容的積極建議和反饋。
祝愿世界更加美好,祝愿人人都能快樂幸福!
楊保華
2018年7月于北京
楊保華:博士,現(xiàn)為甲骨文架構(gòu)師。研究方向包括分布式系統(tǒng)、大數(shù)據(jù)和算法設(shè)計等,是容器、網(wǎng)絡(luò)虛擬化、區(qū)塊鏈等技術(shù)的早期研究者和布道者。他倡導(dǎo)技術(shù)創(chuàng)新與產(chǎn)品、市場相結(jié)合,曾負責多個大型平臺的架構(gòu)和設(shè)計,以及企業(yè)系統(tǒng)的實現(xiàn)和實施。他熱愛開源文化,曾積極貢獻了多個開源項目。
第3版前言
第一部分 基礎(chǔ)入門
第1章 初識Docker與容器 3
1.1 什么是Docker 3
1.2 為什么要使用Docker 6
1.3 Docker與虛擬化 8
1.4 本章小結(jié) 9
第2章 核心概念與安裝配置 10
2.1 核心概念 10
2.2 安裝Docker引擎 11
2.2.1 Ubuntu 環(huán)境下安裝 Docker 12
2.2.2 CentOS 環(huán)境下安裝 Docker 14
2.2.3 通過腳本安裝 15
2.2.4 macOS環(huán)境下安裝 Docker 15
2.2.5 Windows環(huán)境下安裝Docker 23
2.3 配置 Docker 服務(wù) 26
2.4 推薦實踐環(huán)境 27
2.5 本章小結(jié) 27
第3章 使用Docker鏡像 28
3.1 獲取鏡像 28
3.2 查看鏡像信息 30
3.3 搜尋鏡像 32
3.4 刪除和清理鏡像 33
3.5 創(chuàng)建鏡像 35
3.6 存出和載入鏡像 36
3.7 上傳鏡像 37
3.8 本章小結(jié) 38
第4章 操作Docker容器 39
4.1 創(chuàng)建容器 39
4.2 停止容器 44
4.3 進入容器 46
4.4 刪除容器 47
4.5 導(dǎo)入和導(dǎo)出容器 48
4.6 查看容器 49
4.7 其他容器命令 50
4.8 本章小結(jié) 52
第5章 訪問 Docker 倉庫 53
5.1 Docker Hub 公共鏡像市場 53
5.2 第三方鏡像市場 55
5.3 搭建本地私有倉庫 56
5.4 本章小結(jié) 58
第6章 Docker數(shù)據(jù)管理 59
6.1 數(shù)據(jù)卷 59
6.2 數(shù)據(jù)卷容器 60
6.3 利用數(shù)據(jù)卷容器來遷移數(shù)據(jù) 62
6.4 本章小結(jié) 62
第7章 端口映射與容器互聯(lián) 63
7.1 端口映射實現(xiàn)容器訪問 63
7.2 互聯(lián)機制實現(xiàn)便捷互訪 64
7.3 本章小結(jié) 67
第8章 使用Dockerfile創(chuàng)建鏡像 68
8.1 基本結(jié)構(gòu) 68
8.2 指令說明 70
8.2.1 配置指令 71
8.2.2 操作指令 74
8.3 創(chuàng)建鏡像 75
8.3.1 命令選項 76
8.3.2 選擇父鏡像 77
8.3.3 使用.dockerignore文件 77
8.3.4 多步驟創(chuàng)建 78
8.4 最佳實踐 79
8.5 本章小結(jié) 80
第二部分 實戰(zhàn)案例
第9章 操作系統(tǒng) 83
9.1 BusyBox 83
9.2 Alpine 85
9.3 Debian/Ubuntu 86
9.4 CentOS/Fedora 88
9.5 本章小結(jié) 89
第10章 為鏡像添加SSH服務(wù) 90
10.1 基于commit命令創(chuàng)建 90
10.2 使用Dockerfile創(chuàng)建 93
10.3 本章小結(jié) 95
第11章 Web服務(wù)與應(yīng)用 96
11.1 Apache 96
11.2 Nginx 100
11.3 Tomcat 104
11.4 Jetty 108
11.5 LAMP 109
11.6 持續(xù)開發(fā)與管理 111
11.7 本章小結(jié) 114
第12章 數(shù)據(jù)庫應(yīng)用 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 本章小結(jié) 129
第13章 分布式處理與大數(shù)據(jù)平臺 130
13.1 Hadoop 130
13.2 Spark 133
13.3 Storm 136
13.4 Elasticsearch 140
13.5 本章小結(jié) 141
第14章 編程開發(fā) 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 相關(guān)資源 154
14.4 JavaScript 154
14.4.1 使用Node.js 154
14.4.2 相關(guān)資源 158
14.5 Go 158
14.6 本章小結(jié) 161
第15章 容器與云服務(wù) 162
15.1 公有云容器服務(wù) 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 容器云服務(wù) 168
15.3 阿里云容器服務(wù) 172
15.4 時速云介紹 174
15.5 本章小結(jié) 175
第16章 容器實戰(zhàn)思考 176
16.1 Docker 為什么會成功 176
16.2 研發(fā)人員該如何看待容器 177
16.3 容器化開發(fā)模式 178
16.4 容器與生產(chǎn)環(huán)境 180
16.5 本章小結(jié) 182
第三部分 進階技能
第17章 核心實現(xiàn)技術(shù) 185
17.1 基本架構(gòu) 185
17.2 命名空間 187
17.3 控制組 191
17.4 聯(lián)合文件系統(tǒng) 193
17.5 Linux網(wǎng)絡(luò)虛擬化 195
17.6 本章小結(jié) 197
第18章 配置私有倉庫 199
18.1 安裝Docker Registry 199
18.2 配置TLS證書 201
18.3 管理訪問權(quán)限 202
18.4 配置Registry 205
18.5 批量管理鏡像 211
18.6 使用通知系統(tǒng) 214
18.7 本章小結(jié) 217
第19章 安全防護與配置 218
19.1 命名空間隔離的安全 218
19.2 控制組資源控制的安全 219
19.3 內(nèi)核能力機制 219
19.4 Docker服務(wù)端的防護 221
19.5 更多安全特性的使用 221
19.6 使用第三方檢測工具 222
19.6.1 Docker Bench 222
19.6.2 clair 223
19.7 本章小結(jié) 224
第20章 高級網(wǎng)絡(luò)功能 225
20.1 啟動與配置參數(shù) 225
20.2 配置容器DNS和主機名 227
20.3 容器訪問控制 228
20.4 映射容器端口到宿主主機的實現(xiàn) 229
20.5 配置容器網(wǎng)橋 231
20.6 自定義網(wǎng)橋 232
20.7 使用OpenvSwitch網(wǎng)橋 233
20.8 創(chuàng)建一個點到點連接 235
20.9 本章小結(jié) 236
第21章 libnetwork插件化網(wǎng)絡(luò)功能 237
21.1 容器網(wǎng)絡(luò)模型 237
21.2 Docker網(wǎng)絡(luò)命令 238
21.3 構(gòu)建跨主機容器網(wǎng)絡(luò) 241
21.4 本章小結(jié) 243
第四部分 開源項目
第22章 Etcd—高可用的鍵值數(shù)據(jù)庫 247
22.1 Etcd簡介 247
22.2 安裝和使用Etcd 248
22.3 使用客戶端命令 253
22.3.1 數(shù)據(jù)類操作 255
22.3.2 非數(shù)據(jù)類操作 258
22.4 Etcd集群管理 260
22.4.1 構(gòu)建集群 260
22.4.2 集群參數(shù)配置 263
22.5 本章小結(jié) 264
第23章 Docker三劍客之Machine 265
23.1 Machine簡介 265
23.2 安裝Machine 265
23.3 使用Machine 266
23.4 Machine命令 268
23.5 本章小結(jié) 272
第24章 Docker三劍客之Compose 273
24.1 Compose簡介 273
24.2 安裝與卸載 274
24.3 Compose模板文件 277
24.4 Compose命令說明 292
24.5 Compose環(huán)境變量 299
24.6 Compose應(yīng)用案例一:Web負載均衡 300
24.7 Compose應(yīng)用案例二:大數(shù)據(jù)Spark集群 304
24.8 本章小結(jié) 309
第25章 Docker三劍客之Swarm 310
25.1 Swarm簡介 310
25.2 基本概念 311
25.3 使用Swarm 313
25.4 使用服務(wù)命令 316
25.5 本章小結(jié) 319
第26章 Mesos—優(yōu)秀的集群資源調(diào)度平臺 321
26.1 簡介 321
26.2 Mesos安裝與使用 322
26.3 原理與架構(gòu) 330
26.3.1 架構(gòu) 330
26.3.2 基本單元 331
26.3.3 調(diào)度 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 日志與監(jiān)控 338
26.6 常見應(yīng)用框架 340
26.7 本章小結(jié) 341
第27章 Kubernetes—生產(chǎn)級容器集群平臺 343
27.1 簡介 343
27.2 核心概念 345
27.3 資源抽象對象 348
27.3.1 容器組 348
27.3.2 服務(wù) 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 全局參數(shù) 367
27.8.4 通用子命令 369
27.9 網(wǎng)絡(luò)設(shè)計 372
27.10 本章小結(jié) 374
第28章 其他相關(guān)項目 375
28.1 持續(xù)集成 375
28.2 容器管理 377
28.2.1 Portainer 377
28.2.2 Panamax 378
28.2.3 Seagull 378
28.3 編程開發(fā) 380
28.4 網(wǎng)絡(luò)支持 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 服務(wù)代理 385
28.7 標準與規(guī)范 389
28.8 其他項目 392
28.9 本章小結(jié) 396
附錄
附錄A 常見問題總結(jié) 398
附錄B Docker命令查詢 404
附錄C 參考資源鏈接 411