您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Container是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
以下將從不同時(shí)期應(yīng)用部署、運(yùn)維的優(yōu)缺點(diǎn)展開說(shuō)明。
??直接在物理機(jī)上部署應(yīng)用,無(wú)法做到應(yīng)用之間資源隔離以及合理利用。
資源不隔離。一個(gè)內(nèi)存使用量比較大的app可能消耗所有的內(nèi)存資源,導(dǎo)致其他app無(wú)法正常提供服務(wù)。
所有app共享一份物理機(jī)運(yùn)行環(huán)境(kernel+app)。無(wú)法做到按照app定制化運(yùn)行環(huán)境或則app對(duì)特定內(nèi)核的要求。
如果將多個(gè)app部署在不同的物理機(jī)上。a. 需要購(gòu)買大量物理機(jī)器,花費(fèi)較大。b. 需要不同app對(duì)于硬件要求不同,需要特殊定制。c. 需要花費(fèi)大量運(yùn)維時(shí)間。
當(dāng)前,cpu、內(nèi)存等硬件發(fā)展速度遠(yuǎn)遠(yuǎn)高于軟件的速度。很多老的系統(tǒng)自需要少量的cpu或者內(nèi)存,但是其獨(dú)占一臺(tái)機(jī)器,造成資源浪費(fèi)。
??虛擬機(jī)的出現(xiàn),彌補(bǔ)了上面的不足。虛擬機(jī)將物理機(jī)器資源統(tǒng)一抽象為單元,按需分配。不同的實(shí)例之間資源隔離、獨(dú)立的內(nèi)核。但是隨著互聯(lián)網(wǎng)的快速發(fā)展, 要求app能夠快速擴(kuò)展資源以及實(shí)例。當(dāng)前的虛擬機(jī)機(jī)器顯然不能滿足此需要。其主要有以下幾點(diǎn)
鏡像臃腫。每個(gè)鏡像少則幾百兆,正常都在幾個(gè)GB大小。
創(chuàng)建和啟動(dòng)時(shí)間開銷大,不利于快速重組。(不能滿足互聯(lián)網(wǎng)彈性計(jì)算要求)
性能損耗大
額外的資源開銷大
??很早以前就有了容器化的概念。近幾年隨著互聯(lián)網(wǎng)井噴式的發(fā)展,容器機(jī)器有了一個(gè)很好的契機(jī)暴露在大眾的眼前。
鏡像體積小。只包括應(yīng)用以及所依賴的環(huán)境,沒(méi)有內(nèi)核
創(chuàng)建和啟動(dòng)快。不需要啟動(dòng)GuestOS,應(yīng)用啟動(dòng)開銷基本就是應(yīng)用本身啟動(dòng)的時(shí)間開銷
無(wú)GuestOS,無(wú)hypervisor,無(wú)額外資源開銷,資源控制粒度更小,部署密度大
使用的是真實(shí)物理資源,因此不存在性能損耗
輕量級(jí)
容器也有缺點(diǎn)
隔離性相對(duì)虛擬機(jī)弱。由于和宿主機(jī)共享內(nèi)核,帶來(lái)很大的安全隱患,容易發(fā)生逃逸。
如果某些應(yīng)用需要特定的內(nèi)核特性,使用容器不得不更換宿主機(jī)內(nèi)核。
容器技術(shù)發(fā)展
linux chroot->google cgroup->lxc(linux container)->docker(libContainer)
Hyper = Hypervisor + Docker鏡像
??Hyper是一個(gè)基于虛擬化技術(shù)(hypervisor)的Docker引擎。官方認(rèn)為雖然Hyper同樣通過(guò)VM來(lái)運(yùn)行Docker應(yīng)用,但HyperVM里并沒(méi)有GuestOS,相反的,一個(gè)HyperVM內(nèi)部只有一個(gè)極簡(jiǎn)的HyperKernel,以及運(yùn)行的Docker鏡像。這種Kernel+Image的”固態(tài)”組合使得HyperVM和Docker容器一樣,實(shí)現(xiàn)了ImmutableInfrastructure的效果。借助VM天然的隔離性,Hyper能夠完全避免LXC共享內(nèi)核的安全隱患。
Docker項(xiàng)目最初是由一家名為dotCloud的平臺(tái)即服務(wù)廠商所打造,其后該公司更名為Docker。與Warden類似,Docker同樣在起步階段使用LXC,而后利用自己的 libcontainer庫(kù)將其替換下來(lái)。與其它容器平臺(tái)不同,Docker引入了一整套與容器管理相關(guān)的生態(tài)系統(tǒng)。其中包括一套高效的分層式容器鏡像模型、一套全局及本地容器注冊(cè)表、 一個(gè)精簡(jiǎn)化REST API以及一套命令行界面等等。在后期發(fā)展階段,Docker公司還構(gòu)建起一套名為Docker Swarm的容器集群管理解決方案。
快速構(gòu)建基于容器的分布式應(yīng)用
具有容器的所有優(yōu)點(diǎn)
提供原生的資源監(jiān)控
Docker與虛擬機(jī)原理對(duì)比:
由于容器技術(shù)很早就有,Docker最核心的創(chuàng)新在于它的鏡像管理,因此有人說(shuō):
Docker = 容器 + Docker鏡像
Docker鏡像的創(chuàng)新之處在于使用了類似層次的文件系統(tǒng)AUFS,簡(jiǎn)單說(shuō)就是一個(gè)鏡像是由多個(gè)鏡像層層疊加的,從一個(gè)base鏡像中通過(guò)加入一些軟件構(gòu)成一個(gè)新層的鏡像,依次構(gòu)成最后的鏡像,如圖
“Container是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。