《容器技術係列》一1.1 引言
本節書摘來異步社區《容器技術係列》一書中的第1章 ,第1.1節,孫宏亮 著, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
1.1 引言
Docker是Linux平台上的一款輕量級虛擬化容器的管理引擎。在全球範圍內,Docker還是一個開源項目,整個項目基於Go語言開發,代碼托管於GitHub網站上,並遵從Apache 2.0協議。目前,Docker可以幫助用戶在容器內部快速自動化部署應用,並利用Linux內核特性命名空間(namespaces)及控製組(cgroups)等為容器提供隔離的運行環境。Docker借助操作係統層的虛擬化實現資源的隔離,因此Docker容器在運行時與虛擬機(VM)的運行有很大的區別,Docker容器與宿主機共享同一個操作係統,不會有額外的操作係統開銷。這樣的優勢很明顯,因而大大提高了資源利用率,並且提升了I/O等方麵的性能。
眾多新穎的特性以及項目本身的開放性,導致Docker在不到兩年的時間裏迅速獲得了諸多廠商的青睞,其中更是包括Google、Microsoft、VMware等行業領航者。Google在2014年6月推出了Kubernetes,宣布支持Docker容器的調度管理,而2014年8月Microsoft則宣布Azure上支持Kubernetes,隨後傳統虛擬化巨頭VMware宣布與Docker強強合作。2014年9月中旬,Docker更是獲得4000萬美元的C輪融資,以推動分布式應用的發展。
目前,Docker的前景被普遍看好。未來的雲計算領域乃至整個IT領域,Docker都必將扮演不可或缺的角色。為了幫助大家更好地認識Docker、理解Docker並掌握Docker,本書從Docker源碼的角度出發,詳細介紹Docker的架構、Docker的運行以及Docker的特性。本章主要介紹Docker架構。
本書關於Docker的分析均基於Docker 1.2.0版本的源碼。
本章目的是在理解Docker源碼的基礎上分析Docker架構,分析過程主要按照以下三個部分進行:
Docker的總架構圖。
Docker架構內部各模塊功能與實現的分析。
通過具體的Docker命令,闡述Docker的運行流程。
最後更新:2017-06-21 14:32:00