什么是容器?容器技術(shù)有什么優(yōu)點(diǎn)?能解決什么樣的問題?
容器技術(shù)
有效的將單個操作系統(tǒng)的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求,這種技術(shù)就是容器技術(shù)。
容器是輕量級的操作系統(tǒng)級虛擬化,可以讓我們在一個資源隔離的進(jìn)程中運(yùn)行應(yīng)用及其依賴項(xiàng)。運(yùn)行應(yīng)用程序所必需的組件都將打包成一個鏡像并可以復(fù)用。執(zhí)行鏡像時,它運(yùn)行在一個隔離環(huán)境中,并且不會共享宿主機(jī)的內(nèi)存、CPU 以及磁盤,這就保證了容器內(nèi)進(jìn)程不能監(jiān)控容器外的任何進(jìn)程。
容器的好處
輕便:容器占用的服務(wù)器空間比虛擬機(jī)少,通常只需幾秒鐘即可啟動。
彈性:容器具有高彈性,不需要分配給定數(shù)量的資源。這意味著容器能夠更有效地動態(tài)使用服務(wù)器中的資源。當(dāng)一個容器上的需求減少時,釋放額外的資源供其他容器使用。
密度:密度是指一次可以運(yùn)行單個物理服務(wù)器的對象數(shù)。容器化允許創(chuàng)建密集的環(huán)境,其中主機(jī)服務(wù)器的資源被充分利用但不被過度利用。與傳統(tǒng)虛擬化相比,容器化允許更密集的環(huán)境容器不需要托管自己的操作系統(tǒng)。
性能:當(dāng)資源壓力很大時,應(yīng)用程序的性能遠(yuǎn)遠(yuǎn)高于使用虛擬機(jī)管理程序的容器。因?yàn)槭褂脗鹘y(tǒng)的虛擬化,客戶操作系統(tǒng)還必須滿足其自身的內(nèi)存需求,從主機(jī)上獲取寶貴的RAM。
容器究竟解決了什么問題?
大多問題都是在運(yùn)行環(huán)境改變時才顯現(xiàn)的,可能是這樣一種場景,開發(fā)者把代碼從開發(fā)環(huán)境 push 到測試環(huán)境然后到更上層的環(huán)境。比如開發(fā)者在 Windows 上編寫應(yīng)用代碼,但是上層環(huán)境(測試、stage 或是生產(chǎn)環(huán)境)是基于 Linux 的。在這種情況下,當(dāng)操作系統(tǒng)變化時,應(yīng)用的某些功能可能就會出現(xiàn)問題。所以,基本上,當(dāng)配套軟件環(huán)境不一樣的時候,間歇性故障的幾率就會更大。
正如 Docker 創(chuàng)始人 Solomon Hykes 所說,“測試環(huán)境使用 Python 2.7,但是生產(chǎn)環(huán)境使用 Python 3,那么一些奇怪的事情就會發(fā)生。或者你依賴某個特定版本的 SSl 庫的行為,但是卻安裝了另外一個版本。在 Debian 上運(yùn)行測試環(huán)境,但是生產(chǎn)環(huán)境使用 Redhat,那么任何奇怪的事情都可能發(fā)生。”
改變可能不只是運(yùn)行環(huán)境,也有可能是網(wǎng)絡(luò),Hykes 補(bǔ)充道,“網(wǎng)絡(luò)拓?fù)淇赡懿煌蛘甙踩呗院痛鎯σ灿锌赡懿煌?,但是,軟件需要在這些基礎(chǔ)設(shè)施上面運(yùn)行。”
如果還有人問什么是容器,那么一定要推薦他看這一篇文章,相信在仔細(xì)的閱讀之后,大家都能茅塞頓開。我們對計(jì)算機(jī)的使用一直都是在不斷的學(xué)習(xí)中才能取得進(jìn)步,想要學(xué)習(xí)更多的先進(jìn)知識,歡迎大家長期關(guān)注新網(wǎng)。
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科