Docker是一種輕量級(jí)的操作系統(tǒng)虛擬化解決方案,它想達(dá)到一次構(gòu)建到處運(yùn)行,類似于Java虛擬機(jī)的效果,它最初誕生于2013年,是基于go語言的實(shí)現(xiàn),最初是由dotCloud公司的內(nèi)部" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > docker容器與虛擬機(jī)有什么區(qū)別?

docker容器與虛擬機(jī)有什么區(qū)別?

時(shí)間:2024-01-01 22:06:02 | 來源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2024-01-01 22:06:02 來源:網(wǎng)站運(yùn)營(yíng)

docker容器與虛擬機(jī)有什么區(qū)別?:小宅來和大家分享一下:

Docker是一種輕量級(jí)的操作系統(tǒng)虛擬化解決方案,它想達(dá)到一次構(gòu)建到處運(yùn)行,類似于Java虛擬機(jī)的效果,它最初誕生于2013年,是基于go語言的實(shí)現(xiàn),最初是由dotCloud公司的內(nèi)部一個(gè)業(yè)余項(xiàng)目,后來項(xiàng)目開源加入了Linux基金會(huì),然后現(xiàn)在代碼在github上進(jìn)行維護(hù)。Docker的基礎(chǔ)是基于Linux容器技術(shù),在Linux容器技術(shù)的基礎(chǔ)上,Docker進(jìn)行了進(jìn)一步的封裝,讓大家不去關(guān)心容器的管理,使得操作更加便捷。用戶操作Docker容器,就像操作一個(gè)快速輕量級(jí)的虛擬機(jī)那樣簡(jiǎn)單。

從結(jié)構(gòu)上來看,容器和虛擬機(jī)還是有很大不同的。

左圖的虛擬機(jī)的Guest層,還有Hypervisor層在Docker上已經(jīng)被Docker Engine層所取代,在這里我們需要知道,Guest OS 是虛擬機(jī)安裝的操作系統(tǒng),是一個(gè)完整的系統(tǒng)內(nèi)核,另外Hypervisor可以理解為硬件虛擬化平臺(tái),它在后Host OS以內(nèi)核驅(qū)動(dòng)的形式存在。

虛擬機(jī)實(shí)現(xiàn)資源的隔離的方式是利用獨(dú)立的Guest OS,以及利用Hypervisor虛擬化CPU、內(nèi)存、IO等設(shè)備來實(shí)現(xiàn)的,對(duì)于虛擬機(jī)實(shí)現(xiàn)資源和環(huán)境隔離的方案,Docker顯然簡(jiǎn)單很多。

然后Docker并沒有和虛擬機(jī)一樣利用一個(gè)獨(dú)立的Guest OS執(zhí)行環(huán)境的隔離,它利用的是目前當(dāng)前Linux內(nèi)核本身支持的容器方式,實(shí)現(xiàn)了資源和環(huán)境的隔離,簡(jiǎn)單來說,Docker就是利用Namespace 實(shí)現(xiàn)了系統(tǒng)環(huán)境的隔離,利用了cgroup實(shí)現(xiàn)了資源的限制,利用鏡像實(shí)例實(shí)現(xiàn)跟環(huán)境的隔離。

Docker有著比虛擬機(jī)更少的抽象層。由于Docker不需要Hypervisor實(shí)現(xiàn)硬件資源的虛擬化,所以運(yùn)行在Docker容器上的程序,直接使用的都是實(shí)際物理機(jī)的硬件資源。因此在cpu、內(nèi)存、利用率上,Docker將會(huì)在效率上具有更大的優(yōu)勢(shì)。此外,Docker直接利用虛擬機(jī)機(jī)的系統(tǒng)內(nèi)核,避免了虛擬機(jī)啟動(dòng)時(shí)所需要的系統(tǒng)引導(dǎo)時(shí)間和操作系統(tǒng)運(yùn)行的資源消耗,利用Docker能夠在幾秒鐘之內(nèi)啟動(dòng)大量的容器,是虛擬機(jī)無法辦到的??焖賳?dòng)低資源消耗的優(yōu)點(diǎn),使Docker在彈性云平臺(tái)自動(dòng)運(yùn)維系統(tǒng)方面具有很好的應(yīng)用場(chǎng)景。

與虛擬機(jī)相比,Docker在以下幾個(gè)方面具有很大的優(yōu)勢(shì),它能夠快速的交付和部署,Docker在整個(gè)開發(fā)周期都可以完美輔助你實(shí)現(xiàn)快速交付,Docker允許開發(fā)者本地應(yīng)用,直接進(jìn)入到可持續(xù)的開發(fā)流程中。例如開發(fā)者可以使用一個(gè)標(biāo)準(zhǔn)鏡像構(gòu)建一套開發(fā)容器,開發(fā)完成之后,運(yùn)維人員可以直接使用這個(gè)容器來部署代碼,Docker可以快速創(chuàng)建容器快速迭代應(yīng)用程序,整個(gè)過程全程可見,使團(tuán)隊(duì)中的其他成員更容易理解應(yīng)用程序是如何創(chuàng)建和工作的。

此外,容器的啟動(dòng)時(shí)間是秒級(jí)的,大量節(jié)約開發(fā)、測(cè)試、部署的時(shí)間。還有一個(gè)非常關(guān)鍵的點(diǎn),就是Docker能夠高效地部署和擴(kuò)容,Docker容器幾乎可以在任意平臺(tái)上運(yùn)行,包括虛擬機(jī)、物理機(jī)、公有云、私有云、個(gè)人電腦、服務(wù)器等,這種兼容性,可以讓用戶把一個(gè)應(yīng)用程序從一個(gè)平臺(tái)直接遷移到另外一個(gè)平臺(tái)。Docker的兼容性和輕量性的特性可以輕松的實(shí)現(xiàn)負(fù)載的動(dòng)態(tài)管理,你可以快速擴(kuò)容或方便的下線你的應(yīng)用和服務(wù),這種速度趨近于實(shí)時(shí)!此外Docker還具有更高的資源利用率,一臺(tái)主機(jī)上可以運(yùn)行數(shù)千個(gè)Docker容器,容器除了運(yùn)行其應(yīng)用之外,基本不消耗額外的系統(tǒng)資源,使得應(yīng)用性能高,系統(tǒng)開銷小。

而傳統(tǒng)的虛擬機(jī)方式則需要運(yùn)行不同的應(yīng)用,耗費(fèi)大量的資源,此外Docker還可以有更簡(jiǎn)單的管理使用Docker只需要小小的修改就可以替代以往大量的更新工作,所有的修改都以增量的方式被分發(fā)和更新,從而實(shí)現(xiàn)自動(dòng)化并且高效的管理!

以上。




華為云原創(chuàng),請(qǐng)勿轉(zhuǎn)載

更多精彩內(nèi)容,請(qǐng)滑至頂部點(diǎn)擊右上角關(guān)注小宅哦~

關(guān)鍵詞:區(qū)別,容器,虛擬

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉