# 對本書的贊譽
> 經過2015年Docker項目的飛速發展,國內的互聯網企業開始關注容器技術在生產環境下的使用案例。但是,由于與Docker相關的技術資料還沒有得到系統性地整理,國內企業一直在各種實際場景中進行實踐,所以本書的出現正好填補了當前生產環境實踐的實際需要,讓國內容器技術的推廣邁出堅實的一步。
<div style="text-align:right;margin:10">——肖德時,數人科技CTO</div>
> 2015年,不管是傳統IT企業、互聯網巨頭,還是初創公司,大大小小的公司都在實踐如何在生產環境中應用Docker來解決其實際問題。在這個過程中會遇到各種各樣的問題,如網絡和存儲驅動如何選型,資源限制不夠徹底怎么辦,鏡像倉庫如何做權限控制,容器內健康狀況如何監測,容器有哪些安全隱患,以及在容器集群化過程中會遇到哪些問題,如服務發現、彈性伸縮等。這些問題都沒有標準答案,這也激發了工程師們的探索樂趣,于是就有了各種各樣的實戰方案。
> 本書恰好就是對一些實戰方案的歸納和總結。相對于市面上其他Docker圖書,我認為這本書價值更大:對工程師們來說,將技術應用到“生產環境”中才是最大的價值和樂趣所在!
<div style="text-align:right;margin:10">——陳軼飛,原百度PaaS平臺負責人,國內最早大規模應用Docker的實踐者</div>
> 我在Google從事基于容器的基礎設施和集群管理研發多年,許多關于容器使用最佳實踐的知識都是通過“代代相傳、口口相傳”的方式獲得的。在Docker迅速流行的同時,在開源社區里卻缺少如Google(或其他公司)內部“老工程師對新人傾囊相授實踐+真理”的這種奢侈。
> 在眾多講述Docker自身原理、使用方法的書中,這本書從生產角度出發,將作者在實戰中積累的一線經驗系統地匯總成了基于Docker搭建生產系統的經驗,值得我們借鑒。
——張鑫,才云科技CEO
> 在深入學習Docker時將面對這樣的問題:Docker的流行催生出大量與之相關的新技術,這些新技術有哪些,它們是什么關系,又該如何正確選擇?Docker也有適用場景,到底哪些場景適合用?把Docker用在生產環境,是否有成功案例或最佳實踐,又該如何操作?如果你正面對這些問題,本書就非常適合你。另外,本書不僅以可以直接應用的真實生產環境示例貫穿始終,還講解了技術的權衡之道,是Docker進階的難得好書。
<div style="text-align:right;margin:10">——劉凡,好雨云創始人</div>
> Docker進入大家視野已經有段時間了,也歷經了多個重要的版本升級。有報告表明,在一線互聯網公司中,已經有27%的企業在生產環節中使用到了Docker,先行者已開始從中獲益。但目前Docker資料仍停留在概念或者實驗級別,關于真正在生產環境中使用Docker的內容則少之又少,最佳實踐方面的信息與資料也十分稀缺。
> Docker技術對于IT架構乃至軟件架構的改變是巨大的,對于想在生產環境中使用Docker的企業和團隊來講,只掌握概念和基本原理是不夠的,如何能使用Docker解決自身問題,獲得由此帶來的收益,需要更多的生產實踐方面的內容。
> 本書以生產部署為背景,講述Docker在真實環境中的使用,能夠給讀者一個很好的參考,進而達到讓讀者“舉一反三”的效果,使其能讓自身的IT架構提升到一個新的技術高度。
<div style="text-align:right;margin:10">——周東波,首都在線總工程師</div>
> Docker的出現不僅是單一技術的誕生,而是整個開發、測試、運維體系的一次變革,是從傳統的底層主機化真正向資源服務化轉變。Docker也同時改變了廣大技術人員的思維模式,讓原先枯燥重復的工作變得有趣。
> 本書非常系統地講解了Docker在生產環境的搭建和應用,同時詳細地講解了其鏡像、網絡、存儲、安全等方面的知識,是有志于研究Docker的讀者必備的書籍。
<div style="text-align:right;margin:10">——孫斌,去哪兒網運維總監</div>
> Docker是互聯網領域最近兩年最火熱的技術詞語,沒有之一。以Docker為代表的容器技術,通過務實的工程創新,正在影響無數企業的IT基礎設施以及主流的公有云服務。國內越來越多的互聯網企業開始將Docker應用到生產環境中。可以預見,掌握Docker相關知識即將成為軟件工程師或運維工程師的必備技能。DockOne.io社區組織翻譯的這本書恰逢其時,值得每名IT從業者閱讀。
<div style="text-align:right;margin:10">——劉海鋒,京東云平臺總架構師</div>
> 容器技術已經是2015年最熱的技術。容器技術已經存在數年,為什么Docker作為容器技術的布道者能夠有翻天覆地的影響?為什么容器技術能夠給傳統應用帶來好處?如何把傳統應用容器化并通過DevOps方式簡潔化?如何通過具體參數和方法解決現實問題?如何使用Docker以及Docker實踐?
> 其實還有很多問題需要解決,如應用的復雜性和難維護性、開發與運維的脫離性,以及成本不斷攀升的現實性。本書從簡入繁,通過具體案例解釋具體問題,通過實踐幫助讀者理解具體問題,對正在或者即將使用基于容器的DevOps的讀者有很多益處。
<div style="text-align:right;margin:10">——陳冉,Linker Networks CTO & VP</div>
> Docker的出現使得IaaS和PaaS的界限進一步模糊化,引領了云計算技術變革。時下諸多公司正如火如荼地探索在生產環境中如何玩轉Docker。本書的特點在于不僅介紹“是什么”,更進一步探討“如何用”和“為什么用”;不限于某種特定的框架,而是對比各種不同的方案。書中涵蓋容器監控、配置管理、安全、調度、持續交付等生產實踐經驗,想在生產環境中玩轉Docker的技術人員定能從中獲益。
<div style="text-align:right;margin:10">——吳毅挺,攜程CIS-系統研發部總監</div>
- 版權信息
- 版權聲明
- 內容提要
- 對本書的贊譽
- 譯者介紹
- 前言
- 本書面向的讀者
- 誰真的在生產環境中使用Docker
- 為什么使用Docker
- 我們所說的“生產環境”
- 哪些東西不要Docker化
- 技術審稿人
- 第1章 入門
- 1.1 術語
- 1.2 從開發環境到生產環境
- 1.3 使用Docker的多種方式
- 1.4 可預期的情況
- 第2章 技術棧
- 2.1 構建系統
- 2.2 鏡像倉庫
- 2.3 宿主機管理
- 2.4 配置管理
- 2.5 部署
- 2.6 編排
- 第3章 示例:極簡環境
- 3.1 保持各部分的簡單
- 3.2 保持流程的簡單
- 3.3 系統細節
- 3.4 集群范圍的配置、通用配置及本地配置
- 3.5 部署服務
- 3.6 支撐服務
- 3.7 討論
- 3.8 未來
- 3.9 小結
- 第4章 示例:Web環境
- 4.1 編排
- 4.2 連網
- 4.3 數據存儲
- 4.4 日志
- 4.5 監控
- 4.6 無須擔心新依賴
- 4.7 零停機時間
- 4.8 服務回滾
- 4.9 小結
- 第5章 示例:Beanstalk環境
- 5.1 構建容器的過程
- 5.2 日志
- 5.3 監控
- 5.4 安全
- 5.5 小結
- 第6章 安全
- 6.1 威脅模型
- 6.2 容器與安全性
- 6.3 內核更新
- 6.4 容器更新
- 6.5 suid及guid二進制文件
- 6.6 容器內的root
- 6.7 權能
- 6.8 seccomp
- 6.9 內核安全框架
- 6.10 資源限制及cgroup
- 6.11 ulimit
- 6.12 用戶命名空間
- 6.13 鏡像驗證
- 6.14 安全地運行Docker守護進程
- 6.15 監控
- 6.16 設備
- 6.17 掛載點
- 6.18 ssh
- 6.19 私鑰分發
- 6.20 位置
- 第7章 構建鏡像
- 7.1 此鏡像非彼鏡像
- 7.2 鏡像構建基本原理
- 7.3 小結
- 第8章 存儲Docker鏡像
- 8.1 啟動并運行存儲的Docker鏡像
- 8.2 自動化構建
- 8.3 私有倉庫
- 8.4 私有registry的擴展
- 8.5 維護
- 8.6 對私有倉庫進行加固
- 8.7 保存/載入
- 8.8 最大限度地減小鏡像體積
- 8.9 其他鏡像倉庫方案
- 第9章 CI/CD
- 9.1 讓所有人都進行鏡像構建與推送
- 9.2 在一個構建系統中構建所有鏡像
- 9.3 不要使用或禁止使用非標準做法
- 9.4 使用標準基礎鏡像
- 9.5 使用Docker進行集成測試
- 9.6 小結
- 第10章 配置管理
- 10.1 配置管理與容器
- 10.2 面向容器的配置管理
- 10.3 小結
- 第11章 Docker存儲引擎
- 11.1 AUFS
- 11.2 DeviceMapper
- 11.3 BTRFS
- 11.4 OverlayFS
- 11.5 VFS
- 11.6 小結
- 第12章 Docker 網絡實現
- 12.1 網絡基礎知識
- 12.2 IP地址的分配
- 12.3 域名解析
- 12.4 服務發現
- 12.5 Docker高級網絡
- 12.6 IPv6
- 12.7 小結
- 第13章 調度
- 13.1 什么是調度
- 13.2 調度策略
- 13.3 Mesos
- 13.4 Kubernetes
- 13.5 OpenShift
- 第14章 服務發現
- 14.1 DNS服務發現
- 14.2 Zookeeper
- 14.3 基于Zookeeper的服務發現
- 14.4 etcd
- 14.5 consul
- 14.6 Eureka
- 14.7 Smartstack
- 14.8 nsqlookupd
- 14.9 小結
- 第15章 日志和監控
- 15.1 日志
- 15.2 監控
- 15.3 小結
- DockOne社區簡介
- 看完了