云計算關(guān)鍵技術(shù)之容器技術(shù)
容器技術(shù)是英文Linux Container的直譯,這種技術(shù)最初使用在Linux操作系統(tǒng)上。如下圖所示,在 Linux系統(tǒng)中,容器技術(shù)是一種隔離技術(shù),通過容器技術(shù)將不同服務(wù)封裝在對應(yīng)的容器中,之后結(jié)合一些腳本使這些容器按照要求相互協(xié)作。所有容器共享同一個操作系統(tǒng)內(nèi)核。每個容器可單獨限制CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)帶寬容量,并且擁有獨立的IP地址和操作系統(tǒng)管理員賬戶。
容器是一個標準的軟件單元,它打包代碼及其所有依賴項,以便應(yīng)用程序從一個計算環(huán)境快速可靠地遷移到另一個計算環(huán)境。Docker 容器鏡像是一個輕量級的、獨立的、可執(zhí)行的軟件包,包括運行應(yīng)用程序所需的一切:如代碼、運行環(huán)境、系統(tǒng)工具、系統(tǒng)庫和設(shè)置。Docker是容器的引擎,通過Docker引擎就可以實現(xiàn)容器的功能。
容器技術(shù)最重要的價值是:為在不同主機上運行的應(yīng)用程序服務(wù)提供一個輕便、一致的格式。容器格式的標準化可加快交付體驗,允許用戶方便地對工作負載進行遷移,避免局限于單一的平臺提供商。利用容器可以短時間內(nèi)部署成百上千個應(yīng)用,保證用戶應(yīng)用快速上線;容器可以簡化配置過程,用戶應(yīng)用的運行環(huán)境可以直接打包到容器內(nèi),使用時可以直接啟動。
如上圖所示,左圖為容器技術(shù)架構(gòu)圖,右圖為虛擬化技術(shù)架構(gòu)圖。兩者相比,容器與虛擬機最大的不同是容器里不再安裝操作系統(tǒng),容器的本質(zhì)是一種操作系統(tǒng)級別的虛擬化,啟動一個應(yīng)用容器其實就是啟動一個進程,節(jié)省了大量操作系統(tǒng)所占資源,同樣一臺計算機就可以服務(wù)于更多租戶。容器技術(shù)對操作系統(tǒng)的資源進行再次抽象,而并非對整個物理機資源進行虛擬化。容器和虛擬機一起使用為部署和管理應(yīng)用程序提供了極大的靈活性。
Docker容器無處不在Linux,Windows,數(shù)據(jù)中心,云服務(wù)器等。