docker與虛擬機的區(qū)別是什么?docker的優(yōu)點有哪些?
什么是Docker?docker與虛擬機的區(qū)別是什么?
Docker 概述
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙盒機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數(shù)據(jù)中心中運行。最重要的是,他們不依賴于任何語言、框架或包裝系統(tǒng)。
容器與虛擬機有著類似的資源隔離和分配的優(yōu)點,但不同的架構(gòu)方法使容器能夠更加便攜,高效等。
虛擬機的架構(gòu)
每個虛擬機都包括應(yīng)用程序、必要的二進制文件和庫以及一個完整的客戶操作系統(tǒng)(Guest OS),盡管它們被分離,它們共享并利用主機的硬件資源,將近需要十幾個 GB 的大小。
容器的架構(gòu)
容器包括應(yīng)用程序及其所有的依賴,但與其他容器共享內(nèi)核。它們以獨立的用戶空間進程形式運行在主機操作系統(tǒng)上。他們也不依賴于任何特定的基礎(chǔ)設(shè)施,Docker 容器可以運行在任何計算機上,任何基礎(chǔ)設(shè)施和任何云上。
Docker 的容器利用了 LXC,管理利用了 namespaces 來做權(quán)限的控制和隔離,cgroups 來進行資源的配置,并且還通過 aufs 來進一步提高文件系統(tǒng)的資源利用率,而這些技術(shù)都不是 Docker 獨創(chuàng)。
LXC
LXC 與虛擬機的不同之處在于,它是一個操作系統(tǒng)級別的虛擬化環(huán)境,而不是硬件虛擬化環(huán)境。他們都做同樣的事情,但 LXC 是操作系統(tǒng)級別的虛擬化環(huán)境,虛擬環(huán)境有它自己的進程和網(wǎng)絡(luò)空間,而不是創(chuàng)建一個完整成熟的虛擬機。因此,一個 LXC 虛擬操作系統(tǒng)具有最小的資源需求,并啟動只需幾秒鐘。
Docker 的優(yōu)點
輕量級:所有容器在一臺機器上共享同一個操作系統(tǒng)內(nèi)核,這樣他們立即開始,并更有效地利用內(nèi)存。Image 是從分層文件系統(tǒng)的構(gòu)建,這樣他們能夠共享公共文件,使得磁盤使用率和 Image 的下載更加高效。
開放:Docker 容器是基于開發(fā)的標(biāo)準(zhǔn),允許容器運行在主流的 Linux 發(fā)布版和 Microsoft 操作系統(tǒng)作為所有的基礎(chǔ)設(shè)施。
安全:容器使得應(yīng)用程序彼此隔離,而基礎(chǔ)架構(gòu)同時為應(yīng)用程序提供了額外的保護層。
為什么要用 Docker
開發(fā)更加敏捷:Docker 讓開發(fā)人員可以自由定義環(huán)境,創(chuàng)建和部署的應(yīng)用程序更快、更容易,IT 運維人員快速應(yīng)對變化也更加靈活性。
更加可控:Docker 使得開發(fā)人員保存從基礎(chǔ)設(shè)施到應(yīng)用的代碼,幫助 IT 運維人管理擁有標(biāo)準(zhǔn)的、安全的、可擴展的操作環(huán)境。
高可移植性:Docker 允許自由選擇,可以是從筆記本電腦到一個團隊,從私人基礎(chǔ)設(shè)施到公共云提供商。
這樣,你可以專注于開發(fā)應(yīng)用,其他的繁瑣事交給 Docker 去做吧。
通過以上的內(nèi)容,我們已經(jīng)了解了docker與虛擬機的區(qū)別有哪些了,同時也了解了docker的優(yōu)點了,大家在使用docker的時候,還需要注意安裝的方法,具體的可以咨詢新網(wǎng)。
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科