更多書籍點擊進入>> <font color=blue>CiCi島</font>php
<font color=red>電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支持正版,喜歡的請購買正版書籍</font>html
入門Docker的首本書,經典暢銷書升級,系統化掌握容器技術棧,第3版基於 Docker 新 18.x 系列版本。git
本書從Docker基本原理開始,深刻淺出地講解Docker的構建與操做,內容系統全面,可幫助開發人員、運維人員快速部署Docker應用。本書分爲四大部分:基礎入門、實戰案例、進階技能、開源項目,*部分(第1~8章)介紹Docker與虛擬化技術的基本概念,包括安裝、鏡像、容器、倉庫、數據卷、端口映射等;第二部分(第9~16章)經過案例介紹Docker的應用方法,包括與各類操做系統平臺、SSH服務的鏡像、Web服務器與應用、數據庫的應用、各種編程語言的接口、容器雲等,還介紹了做者在容器實戰中的思考與經驗總結;第三部分(第17~21章)介紹一些進階技能,如Docker核心技術實現原理、安全、高級網絡配置、libnetwork插件化網絡功能等;第四部分(第22~28章)介紹與容器開發相關的開源項目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。第3版根據 Docker 18.x 系列版本對全書內容進行了全面修訂。github
楊保華:博士,現爲甲骨文架構師。研究方向包括分佈式系統、大數據和算法設計等,是容器、網絡虛擬化、區塊鏈等技術的早期研究者和佈道者。他倡導技術創新與產品、市場相結合,曾負責多個大型平臺的架構和設計,以及企業系統的實現和實施。他熱愛開源文化,曾積極貢獻了多個開源項目。算法
第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 參考資源連接 411docker
Docker 誕生於雲計算第一個十年的尾巴上。眨眼間,它所表明的現代容器技術,已經佔據了雲計算的半壁江山。
過去十年裏,信息科技依然保持了飛躍式的發展:深度學習的突破給人類擺脫重複勞動帶來曙光;分佈式帳本的崛起爲賽博空間奠基信任基礎;物聯網的成熟讓整個星球都將變得更加智慧……這一切都離不開底層計算技術的持續演化,特別是新一代容器化計算平臺,爲經典計算結構釋放出了巨大的潛力。
而計算科技的進步,一直以來就與開源技術和開放文化息息相關。不管是早期的 Unix/Linux 操做系統,仍是後來包括 Docker 在內的諸多應用軟件,都積極推進了整個信息產業的發展。當下正是新一波科技浪潮來臨前的關鍵時期,掌握最前沿的科技成果,學習最早進的開源工具,對於推進我國乃至全球信息產業的進步都相當重要。
信息科技是全人類的寶貴財富,也是現代文明的基礎支撐。每個信息行業從業人員都應該意識到,持續推進科技創新和文明進步,是時代賦予的重要責任。
Docker 容器技術臻於成熟後,社區涌現出衆多優秀的開源項目。這些項目或讓計算更加高效便捷,或讓平臺更加穩定智能,共同構建了繁榮的容器計算生態。圍繞這些最新進展,本書第3版重點介紹了容器核心技術的最新特性,讓讀者能夠更好地掌握和使用最早進的容器技術。
出版之際,本書開源版本的訪問量已經突破一千萬,真誠感謝近百位同仁對圖書內容的積極建議和反饋。
祝願世界更加美好,祝願人人都能快樂幸福!
楊保華
2018年7月於北京數據庫
本篇文章由一文多發平臺ArtiPub自動發佈編程