電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支持正版,喜歡的請購買正版書籍php
Docker進入你們視野已經有段時間了,也歷經了多個重要的版本升級。有報告代表,在一線互聯網公司中,已經有27%的企業在生產環節中使用到了Docker,先行者已開始從中獲益。但目前Docker資料仍停留在概念或者實驗級別,關於真正在生產環境中使用Docker的內容則少之又少,傑出實踐方面的信息與資料也十分稀缺。Docker技術對於IT架構乃至軟件架構的改變是巨大的,對於想在生產環境中使用Docker的企業和團隊來說,只掌握概念和基本原理是不夠的,如何能使用Docker解決自身問題,得到由此帶來的收益,須要更多的生產實踐方面的內容。本書以生產部署爲背景,講述Docker在真實環境中的使用,可以給讀者一個很好的參考,進而達到讓讀者"觸類旁通"的效果,使其能讓自身的IT架構提高到一個新的技術高度。html
本書圍繞「Docker該如何應用到生產環境」這一核心問題展開。在本書中,讀者將接觸到多個IT企業應用Docker到生產環境的成功案例,瞭解Docker實際投產時將會面臨的問題,以及它與現有基礎設施存在的矛盾與衝突,瞭解構建Docker生態系統所需的配套設施,包括安全、構建鏡像、持續集成/持續交付、鏡像存儲、配置管理、網絡實現、服務發現、持久化存儲以及日誌監控等模塊具體選型方案及利弊所在。本書編寫時一些案例參考的Docker版本是Docker 1.6版本或Docker 1.7。本書要求讀者具有必定的容器管理和運維的基礎知識,適合在生產環境中使用Docker的相關技術人員閱讀,尤爲適合具備中高級DevOps和運維背景的讀者閱讀。編程
做者介紹Joe Johnston是一名全棧開發人員、企業家及服務於舊金山創業公司的顧問。他是Airstack(一家微服務基礎設施創業公司)、California Labs和Connect.Me的聯合創始人。 Antoni Batchelli是PeerSpace公司 的工程副總裁和PalletOps公司(一家基礎設施自動化諮詢公司)的聯合創始人。他的主要工做是將函數式編程語言與基礎設施結合,以及幫助工程團隊打造傑出的軟件。 Justin Cormack是一名顧問,他對開源軟件、雲計算及分佈式系統方面的創新機會尤爲感興趣。他目前就任於unikernels。讀者能夠在GitHub上找到他。 John Fiedler是RelateIQ公司的工程運營總監。他的團隊專一於基於Docker的解決方案,爲其SaaS基礎設施及DevOps提供動力。 Milos Gajdos不只是一名獨立諮詢師,仍是Infrahackers有限公司的基礎設施的負責人,他協助企業更好地理解Linux容器技術,並實現基於容器的基礎設施。他偶爾會撰寫一些有關容器的博客文章。譯者介紹吳佳興,畢業於華東理工大學計算機系,目前是攜程網系統研發團隊的一名DevOps工程師,主要研究的方向有Python開發、運維自動化、配置管理及PaaS平臺的構建等,2014年年末有幸加入DockOne社區,做爲譯者,利用閒暇時間爲社區貢獻一些微薄的力量。梁曉勇,畢業於廈門大學,現任某互聯網金融公司架構師,DockOne社區編外人員,長期奮戰在技術研發一線,在網絡管理、技術開發、架構設計等方面略有心得。熱愛互聯網技術,積極投身開源社區,對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服務器
通過2015年Docker項目的飛速發展,國內的互聯網企業開始關注容器技術在生產環境下的使用案例。可是,因爲與Docker相關的技術資料尚未獲得系統性地整理,國內企業一直在各類實際場景中進行實踐,因此本書的出現正好填補了當前生產環境實踐的實際須要,讓國內容器技術的推廣邁出堅實的一步。--肖德時,數人科技CTO2015年,不論是傳統IT企業、互聯網巨頭,仍是初創公司,大大小小的公司都在實踐如何在生產環境中應用Docker來解決其實際問題。在這個過程當中會遇到各類各樣的問題,如網絡和存儲驅動如何選型,資源限制不夠完全怎麼辦,鏡像倉庫如何作權限控制,容器內健康情況如何監測,容器有哪些安全隱患,以及在容器集羣化過程當中會遇到哪些問題,如服務發現、彈性伸縮等。這些問題都沒有標準答案,這也激發了工程師們的探索樂趣,因而就有了各類各樣的實戰方案。本書剛好就是對一些實戰方案的概括和總結。與市面上其餘Docker圖書相對而言,我認爲這本書價值更大:對工程師們來講,將技術應用到「生產環境」中才是大的價值和樂趣所在!--陳軼飛,原百度PaaS平臺負責人,國內很早大規模應用Docker的實踐者在衆多講述Docker自身原理、使用方法的書中,這本書從生產角度出發,將做者在實戰中積累的一線經驗系統地彙總成基於Docker搭建生產系統的經驗,值得咱們借鑑。--張鑫,才雲科技CEO在深刻學習Docker時將面對這樣的問題:Docker的流行催生出大量與之相關的新技術,這些新技術有哪些,它們是什麼關係,又該如何正確選擇?Docker也有適用場景,到底哪些場景適合用?把Docker用在生產環境,是否有成功案例或傑出實踐,又該如何操做?若是你正面對這些問題,本書就很是適合你。另外,本書不只以能夠直接應用的真實生產環境示例貫穿始終,還講解了技術的權衡之道,是Docker進階的可貴好書。--劉凡,好雨雲創始人網絡