最全docker從入門到精通技術手冊


  第1章 入門 1

  1.1 術語 1

  1.1.1 鏡像與容器 1

  1.1.2 容器與虛擬機 1

  1.1.3 持續集成/持續交付 2

  1.1.4 宿主機管理 2

  1.1.5 編排 2

  1.1.6 調度 2

  1.1.7 發現 2

  1.1.8 配置管理 2

  1.2 從開發環境到生產環境 3

  1.3 使用Docker的多種方式 3

  1.4 可預期的情況 4

  第2章 技術棧 7

  2.1 構建系統 8

  2.2 鏡像倉庫 8

  2.3 宿主機管理 8

  2.4 配置管理 9

  2.5 部署 9

  2.6 編排 9

  第3章 示例:極簡環境 11

  3.1 保持各部分的簡單 11

  3.2 保持流程的簡單 13

  3.3 系統細節 14

  3.4 集群范圍的配置、通用配置及本地配置 18

  3.5 部署服務 19

  3.6 支撐服務 21

  3.7 討論 21

  3.8 未來 22

  3.9 小結 22

  第4章 示例:Web環境 23

  4.1 編排 24

  4.1.1 讓服務器上的Docker進入准備運行容器的狀態 25

  4.1.2 讓容器運行 25

  4.2 連網 28

  4.3 數據存儲 28

  4.4 日志 29

  4.5 監控 30

  4.6 無須擔心新依賴 30

  4.7 零停機時間 30

  4.8 服務回滾 31

  4.9 小結 31

  第5章 示例:Beanstalk環境 33

  5.1 構建容器的過程 34

  5.2 日志 35

  5.3 監控 36

  5.4 安全 36

  5.5 小結 36

  第6章 安全 37

  6.1 威脅模型 37

  6.2 容器與安全性 38

  6.3 內核更新 39

  6.4 容器更新 39

  6.5 suid及guid二進制文件 40

  6.6 容器內的root 40

  6.7 權能 41

  6.8 seccomp 41

  6.9 內核安全框架 42

  6.10 資源限制及cgroup 42

  6.11 ulimit 43

  6.12 用戶命名空間 43

  6.13 鏡像驗證 44

  6.14 安全地運行Docker守護 進程 45

  6.15 監控 45

  6.16 設備 45

  6.17 掛載點 45

  6.18 ssh 46

  6.19 私鑰分發 46

  6.20 位置 46

  第7章 構建鏡像 49

  7.1 此鏡像非彼鏡像 49

  7.1.1 寫時復制與高效的鏡像存儲與分發 50

  7.1.2 Docker對寫時復制的使用 51

  7.2 鏡像構建基本原理 52

  7.2.1 分層的文件系統和空間控管 54

  7.2.2 保持鏡像小巧 57

  7.2.3 讓鏡像可重用 58

  7.2.4 在進程無法被配置時,通過環境變量讓鏡像可配置 59

  7.2.5 讓鏡像在Docker變化時對自身進行重新配置 62

  7.2.6 信任與鏡像 67

  7.2.7 讓鏡像不可變 67

  7.3 小結 68

  第8章 存儲Docker鏡像 69

  8.1 啟動並運行存儲的Docker鏡像 69

  8.2 自動化構建 70

  8.3 私有倉庫 71

  8.4 私有registry的擴展 71

  8.4.1 S3 72

  8.4.2 本地存儲 72

  8.4.3 對registry進行負載均衡 72

  8.5 維護 73

  8.6 對私有倉庫進行加固 73

  8.6.1 SSL 73

  8.6.2 認證 73

  8.7 保存/載入 74

  8.8 最大限度地減小鏡像體積 74

  8.9 其他鏡像倉庫方案 75

  第9章 CI/CD 77

  9.1 讓所有人都進行鏡像構建與推送 79

  9.2 在一個構建系統中構建所有鏡像 80

  9.3 不要使用或禁止使用非標准做法 80

  9.4 使用標准基礎鏡像 80

  9.5 使用Docker進行集成測試 81

  9.6 小結 81

  第10章 配置管理 83

  10.1 配置管理與容器 83

  10.2 面向容器的配置管理 84

  10.2.1 Chef 85

  10.2.2 Ansible 87

  10.2.3 Salt Stack 89

  10.2.4 Puppet 90

  10.3 小結 92

  第11章 Docker存儲引擎 93

  11.1 AUFS 94

  11.2 DeviceMapper 99

  11.3 BTRFS 104

  11.4 OverlayFS 108

  11.5 VFS 112

  11.6 小結 114

  第12章 Docker網絡實現 115

  12.1 網絡基礎知識 116

  12.2 IP地址的分配 119

  12.3 域名解析 124

  12.4 服務發現 128

  12.5 Docker高級網絡 132

  12.5.1 網絡安全 132

  12.5.2 多主機的容器間通信 136

  12.5.3 共享網絡命名空間 138

  12.6 IPv6 141

  12.7 小結 142

  第13章 調度 145

  13.1 什么是調度 146

  13.2 調度策略 147

  13.3 Mesos 147

  13.4 Kubernetes 148

  13.5 OpenShift 149

  第14章 服務發現 153

  14.1 DNS服務發現 155

  14.2 Zookeeper 159

  14.3 基於Zookeeper的服務發現 160

  14.4 etcd 161

  14.5 consul 165

  14.5.1 基於consul的服務發現 167

  14.5.2 registrator 168

  14.6 Eureka 171

  14.7 Smartstack 174

  14.7.1 基於Smartstack的服務發現 175

  14.7.2 Nerve 175

  14.7.3 Synapse 176

  14.8 nsqlookupd 177

  14.9 小結 177

  第15章 日志和監控 179

  15.1 日志 179

  15.1.1 Docker原生的日志 支持 180

  15.1.2 連接到Docker容器 181

  15.1.3 將日志導出到宿主機 182

  15.1.4 發送日志到集中式的日志 平台 183

  15.1.5 在其他容器一側收集 日志 184

  15.2 監控 185

  15.2.1 基於宿主機的監控 187

  15.2.2 基於Docker守護進程的 監控 188

  15.2.3 基於容器的監控 191

  15.3 小結 194


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM