Docker 生產環境實踐指南 Docker生产环境实践指南

喬·約翰斯頓 (Joe Johnston), 安東尼·巴徹勒 (Antoni Batchelli), 賈斯汀·科馬克 (Justin Cormack), 約翰·菲爾德 (John Fiedler)

  • 出版商: 人民郵電
  • 出版日期: 2016-07-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 194
  • 裝訂: 平裝
  • ISBN: 7115422257
  • ISBN-13: 9787115422255
  • 相關分類: Docker
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

<內容介紹>

本書圍繞“Docker該如何應用到生產環境”這一核心問題展開。在本書中,讀者將接觸到多個IT企業應用Docker到生產環境的成功案例,瞭解Docker實際投產時將會面臨的問題,以及它與現有基礎設施存在的矛盾與衝突,瞭解構建Docker生態系統所需的配套設施,包括安全、構建鏡像、持續集成/持續交付、鏡像存儲、配置管理、網絡實現、服務發現、持久化存儲以及日誌監控等模塊具體選型方案及利弊所在。本書編寫時一些案例參考的Docker版本是Docker 1.6版本或Docker 1.7。
本書要求讀者俱備一定的容器管理和運維的基礎知識,適合在生產環境中使用Docker的相關技術人員閱讀,尤其適合具有中高級DevOps和運維背景的讀者閱讀。

<目錄>


第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 S372
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 SaltStack 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 IPv6141
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