天天看點

《容器技術系列》一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的運作流程。

繼續閱讀