第 一部分 Docker 概覽
第 1 章 容器發(fā)展歷程 002
1.1 糟糕的舊時代 002
1.2 你好,VMware! 003
1.3 VMware的缺點 003
1.4 你好,容器! 004
1.5 Linux容器 004
1.6 你好,Docker! 005
1.7 Docker和Windows 005
1.8 Windows容器和Linux容器 006
1.9 Mac容器 006
1.10 Kubernetes 006
1.11 本章小結 007
第 2 章 Docker 008
2.1 Docker簡介 008
2.2 Docker公司 009
2.3 Docker技術 010
2.4 開放容器計劃 011
2.5 本章小結 013
第 3 章 安裝 Docker 014
3.1 Docker Desktop 015
3.1.1 Windows前置要求 015
3.1.2 在Windows 10和Windows 11上安裝
Docker Desktop 016
3.1.3 在Mac上安裝
Docker Desktop 017
3.2 使用Multipass安裝Docker 019
3.3 在Linux上安裝Docker 020
3.4 Play with Docker 021
3.5 本章小結 022
第 4 章 縱觀 Docker 023
4.1 運維視角 024
4.1.1 鏡像 025
4.1.2 容器 026
4.1.3 連接到運行的容器 028
4.2 開發(fā)視角 029
4.3 本章小結 032
第 5 章 Docker 引擎 034
5.1 Docker引擎--簡介 035
5.2 Docker引擎--詳解 036
5.2.1 擺脫LXC 036
5.2.2 擺脫單體Docker守護進程 036
5.2.3 開放容器計劃(OCI)的影響 037
5.2.4 runc 038
5.2.5 containerd 038
5.2.6 啟動一個新容器(示例) 039
5.2.7 該模型的顯著優(yōu)勢 040
5.2.8 關于shim 041
5.2.9 在Linux上的實現方式 041
5.2.10 守護進程的作用 042
5.3 本章小結 042
第 6 章 鏡像 043
6.1 Docker鏡像--簡介 043
6.2 Docker鏡像--詳解 044
6.2.1 鏡像和容器 044
6.2.2 鏡像通常較小 045
6.2.3 拉取鏡像 045
6.2.4 鏡像命名 047
6.2.5 鏡像倉庫服務 047
6.2.6 鏡像命名和標簽 049
6.2.7 帶多個標簽的鏡像 051
6.2.8 過濾docker images的輸出 051
6.2.9 通過CLI搜索Docker Hub 053
6.2.10 鏡像和分層 054
6.2.11 共享鏡像層 058
6.2.12 通過摘要拉取鏡像 059
6.2.13 鏡像哈希值(摘要)的更多內容 061
6.2.14 多架構鏡像 062
6.2.15 刪除鏡像 065
6.3 鏡像--命令 067
6.4 本章小結 068
第二部分 Docker 技術
第 7 章 容器 069
7.1 Docker容器--簡介 069
7.2 Docker容器--詳解 070
7.2.1 容器vs虛擬機 071
7.2.2 虛擬機開銷 072
7.2.3 運行容器 074
7.2.4 檢查Docker是否運行 074
7.2.5 啟動一個簡單容器 075
7.2.6 容器進程 077
7.2.7 容器生命周期 078
7.2.8 優(yōu)雅地停止容器 081
7.2.9 帶重啟策略的自愈容器 082
7.2.10 Web服務器示例 085
7.2.11 檢查容器 086
7.2.12 清理 087
7.3 容器--命令 088
7.4 本章小結 089
第 8 章 容器化應用 090
8.1 容器化應用--簡介 090
8.2 容器化應用--詳解 091
8.2.1 單容器應用容器化 092
8.2.2 通過多階段構建進行生產部署 103
8.2.3 一些最佳實踐 109
8.3 容器化應用--命令 112
8.4 本章小結 113
第 9 章 Docker Compose部署多容器應用 114
9.1 使用Compose部署應用--簡介 114
9.2 使用Compose部署應用--詳解 115
9.2.1 Compose背景 115
9.2.2 安裝Compose 116
9.2.3 Compose文件 116
9.2.4 使用Compose部署應用 120
9.2.5 使用Compose管理應用 125
9.3 使用Compose部署應用--命令 131
9.4 本章小結 132
第 10 章 Docker Swarm 133
10.1 Docker Swarm--簡介 133
10.2 Docker Swarm--詳解 134
10.2.1 Swarm入門 134
10.2.2 搭建安全swarm集群 136
10.2.3 故障排查 156
10.2.4 備份和恢復swarm 158
10.3 Docker Swarm--命令 162
10.4 本章小結 163
第 11 章 Docker 網絡 164
11.1 Docker網絡--簡介 165
11.2 Docker網絡--詳解 165
11.2.1 基礎理論 166
11.2.2 容器網絡模型(CNM) 166
11.2.3 單主機橋接網絡 170
11.2.4 多主機覆蓋網絡 177
11.2.5 連接現有網絡 177
11.2.6 服務發(fā)現 184
11.2.7 入口負載均衡 186
11.3 Docker網絡--命令 189
11.4 本章小結 189
第 12 章 Docker 覆蓋網絡 191
12.1 Docker覆蓋網絡--簡介 192
12.2 Docker覆蓋網絡--詳解 192
12.2.1 創(chuàng)建和測試Docker 覆蓋網絡 192
12.2.2 覆蓋網絡工作原理 199
12.3 Docker 覆蓋網絡--命令 204
12.4 本章小結 205
第 13 章 卷和持久化數據 206
13.1 卷和持久化數據--簡介 206
13.2 卷和持久化數據--詳解 207
13.2.1 容器和非持久化數據 207
13.2.2 容器和持久化數據 208
13.2.3 集群節(jié)點間共享存儲 214
13.3 卷和持久化數據--命令 215
13.4 本章小結 216
第 14 章 使用 Docker Stack部署應用 217
14.1 使用Docker Stack部署應用--簡介 217
14.2 使用Docker Stack部署應用--詳解 218
14.2.1 示例應用概述 219
14.2.2 深入分析Stack文件 220
14.2.3 部署應用 225
14.2.4 管理Stack 229
14.3 使用Docker Stack部署應用--命令 234
14.4 本章小結 234
第 15 章 Docker 安全 235
15.1 Docker安全--簡介 235
15.2 Docker安全--詳解 237
15.2.1 Linux安全技術 237
15.2.2 Docker安全技術 244
15.3 本章小結 258