Docker — 從入門到實踐PDF下載(可複製版)

0.9-rc2(2017-12-09)修訂說明:本書內容將基於DockerCEv17.MM進行重新修訂,計劃2017年底發布0.9.0版本。舊版本(Docker1.13-)內容,請閱讀docker-legacy分支的內容。Docker是個劃時代的開源項目,它徹底釋放了計算虛擬化的威力,極大提高了應用的運行效率,降低了雲計算資源供應的成本!使用Docker,可以讓應用的部署、測試和分發都變得前所未有的高效和輕鬆!無論是應用開發者、運維人員、還是其他資訊技術從業人員,都有必要認識和掌握Docker,節約有限的時間。本書既適用於具備基礎Linux知識的Docker初學者,也希望可供理解原理和實現的高級用戶參考。同時,書中給出的實踐案例,可供在進行實際部署時借鑒。前六章為基礎內容,供用戶理解Docker的基本概念和操作;7~9章介紹一些高級操作;第10章給出典型的應用場景和實踐案例;11、12章介紹關於Docker安全和實現技術等高級話題。後續章節則分別介紹一些相關的熱門開源項目。

 

什麼是Docker

Docker最初是dotCloud公司創始人SolomonHykes在法國期間發起的一個公司內部項目,它是基於dotCloud公司多年雲服務技術的一次革新,並於2013年3月以Apache2.0授權協議開源,主要項目程式碼在GitHub上進行維護。Docker項目後來還加入了Linux基金會,並成立推動開放容器聯盟(OCI)。Docker自開源後受到廣泛的關注和討論,至今其GitHub項目已經超過4萬6千個星標和一萬多個fork。甚至由於Docker項目的火爆,在2013年底,dotCloud公司決定改名為Docker。Docker最初是在Ubuntu12.04上開發實現的;RedHat則從RHEL6.5開始對Docker進行支援;Google也在其PaaS產品中廣泛應用Docker。Docker使用Google公司推出的Go語言進行開發實現,基於Linux內核的cgroup,namespace,以及AUFS類的UnionFS等技術,對進程進行封裝隔離,屬於作業系統層面的虛擬化技術。由於隔離的進程獨立於宿主和其它的隔離的進程,因此也稱其為容器。最初實現是基於LXC,從0.7版本以後開始去除LXC,轉而使用自行開發的libcontainer,從1.11開始,則進一步演進為使用runC和containerd。Docker在容器的基礎上,進行了進一步的封裝,從文件系統、網路互聯到進程隔離等等,極大的簡化了容器的創建和維護。使得Docker技術比虛擬機技術更為輕便、快捷。下面的圖片比較了Docker和傳統虛擬化方式的不同之處。傳統虛擬機技術是虛擬出一套硬體後,在其上運行一個完整作業系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行於宿主的內核,容器內沒有自己的內核,而且也沒有進行硬體虛擬。因此容器要比傳統虛擬機更為輕便。

 

下載地址://www.infotop100.com/blog/article/22

Tags: