<內容介紹>
本書圍繞“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