虛擬機(jī)和容器都用于創(chuàng)建隔離的虛擬環(huán)境,但是這兩種虛擬化技術(shù)有顯著的不同,今天的文章就來(lái)聊一下它們之間的區(qū)別。
什么是虛擬化?
如果要對(duì)物理資源進(jìn)行管理,第一步,就是“虛擬化”。
虛擬化是云計(jì)算的基礎(chǔ)。簡(jiǎn)單來(lái)說(shuō),虛擬化就是在一臺(tái)物理服務(wù)器上,運(yùn)行多臺(tái)“虛擬服務(wù)器”。這種虛擬服務(wù)器,也叫虛擬機(jī)(VM,Virtual Machine)。
從表面來(lái)看,這些虛擬機(jī)都是獨(dú)立的服務(wù)器,但實(shí)際上,它們共享物理服務(wù)器的CPU、內(nèi)存、硬件、網(wǎng)卡等資源。
軟文營(yíng)銷(xiāo)物理機(jī),通常稱(chēng)為“宿主機(jī)(Host)”。虛擬機(jī),則稱(chēng)為“客戶(hù)機(jī)(Guest)”。
虛擬機(jī)(VM)是共享一個(gè)服務(wù)器的物理資源的操作系統(tǒng)。它是主機(jī)硬件上的Guest,因此也被稱(chēng)為Guest虛擬機(jī)。虛擬機(jī)由幾層組成。支持虛擬化的層是hypervisor。hypervisor是一種虛擬化服務(wù)器的軟件。
什么是容器?
容器也是虛擬化,但是屬于“輕量級(jí)”的虛擬化。它的目的和虛擬機(jī)一樣,都是為了創(chuàng)造“隔離環(huán)境”。但是,它又和虛擬機(jī)有很大的不同——虛擬機(jī)是操作系統(tǒng)級(jí)別的資源隔離,而容器本質(zhì)上是進(jìn)程級(jí)的資源隔離。
容器是一個(gè)不依賴(lài)于操作系統(tǒng),運(yùn)行應(yīng)用程序的環(huán)境。它通過(guò)Linux的Namespaces和Cgroups技術(shù)對(duì)應(yīng)用程序進(jìn)程進(jìn)行隔離和限制的,Namespace的作用是隔離,它讓?xiě)?yīng)用進(jìn)程只能看到該Namespace內(nèi)的世界;而Cgroups 的作用是限制分配給進(jìn)程的宿主機(jī)資源。
軟文營(yíng)銷(xiāo)但對(duì)于宿主機(jī)來(lái)說(shuō),這些被“隔離”了的進(jìn)程跟其他進(jìn)程并沒(méi)有太大區(qū)別。
容器只是運(yùn)行在宿主機(jī)上的一種特殊的進(jìn)程,多個(gè)容器之間使用的還是同一個(gè)宿主機(jī)的操作系統(tǒng)內(nèi)核。
總的來(lái)說(shuō),虛擬機(jī)非常適合傳統(tǒng)的資源密集型單片應(yīng)用程序,尤其是準(zhǔn)備將這些應(yīng)用程序移至云中時(shí)。
容器更適合承載Web服務(wù)中使用的微服務(wù),特別是在對(duì)可擴(kuò)展性要求很高的情況下。當(dāng)以這種方式使用容器時(shí),通常由容器編排系統(tǒng)對(duì)其進(jìn)行管理,以自動(dòng)執(zhí)行計(jì)算機(jī)應(yīng)用程序的部署、擴(kuò)展和管理。
不僅如此,容器和虛擬機(jī)也可以共存,容器可以在虛擬機(jī)中運(yùn)行,企業(yè)可以利用現(xiàn)有的虛擬化基礎(chǔ)設(shè)施(例如虛擬機(jī)管理系統(tǒng))來(lái)管理其容器。創(chuàng)新互聯(lián)是云計(jì)算較早的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10多年的
服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等,眾多虛擬主機(jī)網(wǎng)站用戶(hù)的共同選擇!
名稱(chēng)欄目:虛擬化與容器,有哪些區(qū)別?
URL標(biāo)題:
http://weahome.cn/article/sdosdc.html