本書是一本Docker入門圖書,全書分為17章,從Docker概覽和Docker技術(shù)兩部分進(jìn)行全面解析,深入淺出地介紹了Docker的相關(guān)知識(shí),清晰詳細(xì)的操作步驟結(jié)合大量的實(shí)際代碼幫助讀者學(xué)以致用,將Docker知識(shí)應(yīng)用到真實(shí)的項(xiàng)目開發(fā)當(dāng)中。
本書適合對(duì)Docker感興趣的入門新手、Docker技術(shù)開發(fā)人員以及運(yùn)維人員閱讀,本書也可作為Docker認(rèn)證工程師考試的參考圖書。
Nigel Poulton,亞馬遜暢銷圖書作者,存儲(chǔ)專家,Docker技術(shù)先驅(qū)。Nigel有豐富的運(yùn)維技術(shù)經(jīng)驗(yàn),著有多部容器相關(guān)的圖書,并開設(shè)了視頻培訓(xùn)課程,在業(yè)界有非常大的影響力。
《深入淺出Docker》由Docker概覽和Docker技術(shù)兩部分組成,遵循簡(jiǎn)介—詳解—命令的章節(jié)布局,全面系統(tǒng)地剖析Docker的基本原理與實(shí)踐應(yīng)用。清晰詳細(xì)的操作步驟結(jié)合大量的實(shí)際代碼,為讀者切實(shí)入門Docker保駕護(hù)航。
《深入淺出Docker》持續(xù)位居亞馬遜榜單前列,圖書內(nèi)容經(jīng)過多次補(bǔ)充完善,保證核心技術(shù)的實(shí)時(shí)更新。作為一本Docker實(shí)踐指導(dǎo)手冊(cè),《深入淺出Docker》能夠幫助讀者從零開始走進(jìn)Docker的世界。想要通過Docker認(rèn)證工程師(DCA)考試的讀者也將從本書中獲益。
本書特色
零基礎(chǔ)起步,幫助讀者快速建立Docker技術(shù)知識(shí)體系
抽絲剝繭,層層深入,清晰透徹地闡述復(fù)雜的邏輯
涵蓋廣泛,從安裝入門到應(yīng)用部署,展示Docker應(yīng)用全景
本書內(nèi)容
容器發(fā)展之路
走進(jìn)Docker
Docker安裝
縱觀Docker
Docker引擎
Docker鏡像
Docker容器
應(yīng)用的容器化
使用Docker Compose部署應(yīng)用
Docker Swarm
Docker網(wǎng)絡(luò)
Docker覆蓋網(wǎng)絡(luò)
卷與持久化數(shù)據(jù)
使用Docker Stack部署應(yīng)用
Docker安全
企業(yè)版工具
企業(yè)級(jí)特性
安全客戶端與daemon的通信
DCA考試
延伸
Nigel Poulton,Docker Captains專家,亞馬遜暢銷圖書作者,存儲(chǔ)專家,Docker技術(shù)先驅(qū)。Nigel有豐富的運(yùn)維技術(shù)經(jīng)驗(yàn),著有多部容器相關(guān)的圖書,并開設(shè)了視頻培訓(xùn)課程,在業(yè)界有非常大的影響力。
出版了《Docker Deep Dive》《The Kubernetes Book 》等圖書。
第 一部分 Docker概覽
第 1章 容器發(fā)展之路 2
1.1 落后的舊時(shí)代 2
1.2 你好,VMware! 2
1.3 虛擬機(jī)的不足 3
1.4 你好,容器! 3
1.5 Linux容器 3
1.6 你好,Docker! 4
1.7 Windows容器 4
1.8 Windows容器vs Linux容器 4
1.9 Mac容器現(xiàn)狀 5
1.10 Kubernetes 5
1.11 本章小結(jié) 6
第 2章 走進(jìn)Docker 7
2.1 Docker—簡(jiǎn)介 7
2.2 Docker公司 7
2.3 Docker運(yùn)行時(shí)與編排引擎 8
2.4 Docker開源項(xiàng)目(Moby) 9
2.5 容器生態(tài) 10
2.6 開放容器計(jì)劃 11
2.7 本章小結(jié) 12
第3章 Docker安裝 13
3.1 Windows版Docker(DfW) 13
3.2 Mac版Docker(DfM) 17
3.3 在Linux上安裝Docker 19
3.4 在Windows Server 2016上安裝Docker 21
3.5 Docker引擎(Engine)升級(jí) 22
3.5.1 在Ubuntu 16.04上升級(jí)Docker CE 23
3.5.2 在Windows Server 2016上升級(jí)Docker EE 24
3.6 Docker存儲(chǔ)驅(qū)動(dòng)的選擇 25
3.6.1 Device Mapper配置 26
3.6.2 讓Docker自動(dòng)設(shè)置direct-lvm 26
3.6.3 手動(dòng)配置Device Mapper的direct-lvm 28
3.7 本章小結(jié) 28
第4章 縱觀Docker 29
4.1 運(yùn)維視角 29
4.1.1 鏡像 30
4.1.2 容器 31
4.1.3 連接到運(yùn)行中的容器 34
4.2 開發(fā)視角 35
4.3 本章小結(jié) 38
第二部分 Docker技術(shù)
第5章 Docker引擎 40
5.1 Docker引擎—簡(jiǎn)介 40
5.2 Docker引擎—詳解 41
5.2.1 擺脫LXC 41
5.2.2 摒棄大而全的Docker daemon 42
5.2.3 開放容器計(jì)劃(OCI)的影響 43
5.2.4 runc 43
5.2.5 containerd 43
5.2.6 啟動(dòng)一個(gè)新的容器(示例) 44
5.2.7 該模型的顯著優(yōu)勢(shì) 45
5.2.8 shim 45
5.2.9 在Linux中的實(shí)現(xiàn) 46
5.2.10 daemon的作用 46
5.3 本章小結(jié) 46
第6章 Docker鏡像 48
6.1 Docker鏡像—簡(jiǎn)介 48
6.2 Docker鏡像—詳解 48
6.2.1 鏡像和容器 49
6.2.2 鏡像通常比較小 49
6.2.3 拉取鏡像 49
6.2.4 鏡像命名 51
6.2.5 鏡像倉(cāng)庫(kù)服務(wù) 51
6.2.6 鏡像命名和標(biāo)簽 52
6.2.7 為鏡像打多個(gè)標(biāo)簽 54
6.2.8 過濾docker image ls的輸出內(nèi)容 55
6.2.9 通過CLI方式搜索Docker Hub 56
6.2.10 鏡像和分層 57
6.2.11 共享鏡像層 60
6.2.12 根據(jù)摘要拉取鏡像 61
6.2.13 鏡像散列值(摘要) 63
6.2.14 多層架構(gòu)的鏡像 63
6.2.15 刪除鏡像 65
6.3 鏡像—命令 67
6.4 本章小結(jié) 67
第7章 Docker容器 68
7.1 Docker容器—簡(jiǎn)介 68
7.2 Docker容器—詳解 69
7.2.1 容器vs虛擬機(jī) 69
7.2.2 虛擬機(jī)的額外開銷 71
7.2.3 運(yùn)行的容器 71
7.2.4 檢查Docker daemon 71
7.2.5 啟動(dòng)一個(gè)簡(jiǎn)單容器 72
7.2.6 容器進(jìn)程 74
7.2.7 容器生命周期 75
7.2.8 優(yōu)雅地停止容器 78
7.2.9 利用重啟策略進(jìn)行容器的自我修復(fù) 78
7.2.10 Web服務(wù)器示例 80
7.2.11 查看容器詳情 82
7.2.12 快速清理 82
7.3 容器—命令 83
7.4 本章小結(jié) 84
第8章 應(yīng)用的容器化 85
8.1 應(yīng)用的容器化—簡(jiǎn)介 85
8.2 應(yīng)用的容器化—詳解 86
8.2.1 單體應(yīng)用容器化 86
8.2.2 生產(chǎn)環(huán)境中的多階段構(gòu)建 95
8.2.3 最佳實(shí)踐 98
8.3 應(yīng)用的容器化—命令 100
8.4 本章小結(jié) 101
第9章 使用Docker Compose部署應(yīng)用 102
9.1 使用Docker Compose部署應(yīng)用—簡(jiǎn)介 102
9.2 使用Docker Compose部署應(yīng)用—詳解 103
9.2.1 Docker Compose的背景 103
9.2.2 安裝Docker Compose 103
9.2.3 Compose文件 105
9.2.4 使用Docker Compose部署應(yīng)用 107
9.2.5 使用Docker Compose管理應(yīng)用 110
9.3 使用Docker Compose部署應(yīng)用—命令 115
9.4 本章小結(jié) 116
第 10章 Docker Swarm 117
10.1 Docker Swarm—簡(jiǎn)介 117
10.2 Docker Swarm—詳解 118
10.2.1 Swarm的初步介紹 118
10.2.2 搭建安全Swarm集群 119
10.2.3 Swarm服務(wù) 125
10.2.4 故障排除 133
10.3 Docker Swarm—命令 134
10.4 本章小結(jié) 135
第 11章 Docker網(wǎng)絡(luò) 136
11.1 Docker網(wǎng)絡(luò)—簡(jiǎn)介 136
11.2 Docker網(wǎng)絡(luò)—詳解 137
11.2.1 基礎(chǔ)理論 137
11.2.2 單機(jī)橋接網(wǎng)絡(luò) 140
11.2.3 多機(jī)覆蓋網(wǎng)絡(luò) 146
11.2.4 接入現(xiàn)有網(wǎng)絡(luò) 146
11.2.5 服務(wù)發(fā)現(xiàn) 152
11.2.6 Ingress網(wǎng)絡(luò) 153
11.3 Docker網(wǎng)絡(luò)—命令 156
11.4 本章小結(jié) 156
第 12章 Docker覆蓋網(wǎng)絡(luò) 157
12.1 Docker覆蓋網(wǎng)絡(luò)—簡(jiǎn)介 157
12.2 Docker覆蓋網(wǎng)絡(luò)—詳解 157
12.2.1 在Swarm模式下構(gòu)建并測(cè)試Docker覆蓋網(wǎng)絡(luò) 158
12.2.2 工作原理 164
12.3 Docker覆蓋網(wǎng)絡(luò)—命令 168
12.4 本章小結(jié) 168
第 13章 卷與持久化數(shù)據(jù) 169
13.1 卷與持久化數(shù)據(jù)—簡(jiǎn)介 169
13.2 卷與持久化數(shù)據(jù)—詳解 169
13.2.1 容器與非持久數(shù)據(jù) 170
13.2.2 容器與持久化數(shù)據(jù) 170
13.2.3 在集群節(jié)點(diǎn)間共享存儲(chǔ) 175
13.3 卷與持久化數(shù)據(jù)—命令 176
13.4 本章小結(jié) 176
第 14章 使用Docker Stack部署應(yīng)用 177
14.1 使用Docker Stack部署應(yīng)用—簡(jiǎn)介 177
14.2 使用Docker Stack部署應(yīng)用—詳解 178
14.2.1 簡(jiǎn)單應(yīng)用 178
14.2.2 深入分析Stack文件 180
14.2.3 部署應(yīng)用 186
14.2.4 管理應(yīng)用 191
14.3 使用Docker Stack部署應(yīng)用—命令 193
14.4 本章小結(jié) 194
第 15章 Docker安全 195
15.1 Docker安全—簡(jiǎn)介 195
15.2 Docker安全—詳解 196
15.2.1 Linux安全技術(shù) 197
15.2.2 Docker平臺(tái)安全技術(shù) 201
15.3 本章小結(jié) 212
第 16章 企業(yè)版工具 213
16.1 企業(yè)版工具—簡(jiǎn)介 213
16.2 企業(yè)版工具—詳解 214
16.2.1 Docker EE引擎 214
16.2.2 Docker通用控制平面(UCP) 216
16.2.3 Docker可信鏡像倉(cāng)庫(kù)服務(wù)(DTR) 227
16.3 本章小結(jié) 233
第 17章 企業(yè)級(jí)特性 234
17.1 企業(yè)級(jí)特性—簡(jiǎn)介 234
17.2 企業(yè)級(jí)特性—詳解 234
17.2.1 基于角色的權(quán)限控制(RBAC) 235
17.2.2 集成活動(dòng)目錄 239
17.2.3 Docker內(nèi)容信任機(jī)制(DCT) 241
17.2.4 配置Docker可信鏡像倉(cāng)庫(kù)服務(wù)(DTR) 243
17.2.5 使用Docker可信鏡像倉(cāng)庫(kù)服務(wù) 244
17.2.6 提升鏡像 247
17.2.7 HTTP路由網(wǎng)格(HRM) 250
17.3 本章小結(jié) 253
附錄A 安全客戶端與daemon的通信 255
附錄B DCA考試 265
附錄C 延伸 270