掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
大家好,今天小編關(guān)注到一個(gè)比較有意思的話題,就是關(guān)于docker容器與虛擬機(jī)的區(qū)別的問(wèn)題,于是小編就整理了3個(gè)相關(guān)介紹為您解答,讓我們一起看看吧。

成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為柳北等服務(wù)建站,柳北等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為柳北企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
docker和vm虛擬機(jī)的區(qū)別:
VM(VMware)在宿主機(jī)器、宿主機(jī)器操作系統(tǒng)的基礎(chǔ)上創(chuàng)建虛擬層、虛擬化的操作系統(tǒng)、虛擬化的倉(cāng)庫(kù),然后再安裝應(yīng)用;
Docker在宿主機(jī)器的操作系統(tǒng)上創(chuàng)建Docker引擎,直接在宿主主機(jī)的操作系統(tǒng)上調(diào)用硬件資源,而不是虛擬化操作系統(tǒng)和硬件資源,所以操作速度快。
Docker特點(diǎn)
1)上手快
虛擬機(jī)、容器和Docker都是現(xiàn)代計(jì)算機(jī)技術(shù)中常用的概念,它們可以讓軟件在隔離的環(huán)境中運(yùn)行,并提高了資源利用率和系統(tǒng)安全性。下面是它們的區(qū)別:
1. 虛擬機(jī)(Virtual Machine,VM):虛擬機(jī)是一種硬件仿真技術(shù),通過(guò)在物理機(jī)上創(chuàng)建一個(gè)或多個(gè)虛擬的計(jì)算機(jī)環(huán)境來(lái)模擬出多個(gè)獨(dú)立的系統(tǒng)。虛擬機(jī)可以運(yùn)行各種操作系統(tǒng)和軟件,并且能夠完全隔離不同的應(yīng)用程序之間的沖突。虛擬機(jī)通常需要占用大量的系統(tǒng)資源,因此多用于復(fù)雜的企業(yè)應(yīng)用場(chǎng)景。
2. 容器(Container):容器是一種輕量級(jí)的虛擬化技術(shù),它實(shí)現(xiàn)了對(duì)不同應(yīng)用之間隔離的封裝,不同于虛擬機(jī)需要單獨(dú)運(yùn)行整個(gè)操作系統(tǒng)的方式,容器共享同一主機(jī)內(nèi)核,只需運(yùn)行相應(yīng)的應(yīng)用程序所需的組件和庫(kù)就可以快速啟動(dòng)和運(yùn)行。
3. Docker:Docker 是一款基于容器技術(shù)的開(kāi)源應(yīng)用引擎,它可以快捷地建立、發(fā)布、運(yùn)行分布式應(yīng)用程序。Docker 的容器技術(shù)可以將應(yīng)用程序及其依賴關(guān)系打包在一個(gè)容器中,保證了應(yīng)用程序在不同環(huán)境中運(yùn)行的一致性和可移植性。
總的來(lái)說(shuō),虛擬機(jī)是一種硬件仿真技術(shù),能夠在單個(gè)物理主機(jī)上運(yùn)行多個(gè)完整的操作系統(tǒng)副本;容器是一種輕量級(jí)的虛擬化技術(shù),能夠在單個(gè)操作系統(tǒng)上運(yùn)行多個(gè)隔離的應(yīng)用程序;而Docker則是運(yùn)用了容器技術(shù)的應(yīng)用引擎,可以輕松地構(gòu)建、發(fā)布和運(yùn)行容器化的應(yīng)用程序。
Docker 是容器可以理解為沙盒,與虛擬機(jī)原理大不同,虛擬機(jī)是基于硬件虛擬層之上的一個(gè)進(jìn)程來(lái)模擬硬件系統(tǒng)平臺(tái),再虛擬硬件系統(tǒng)平臺(tái)上安裝的操作系統(tǒng)。 你在虛擬機(jī)的系統(tǒng)中運(yùn)行一個(gè)程序時(shí),其實(shí)是由虛擬機(jī)的CPU、內(nèi)存來(lái)處理的,與真機(jī)的物理CPU 中間隔了硬件虛擬層,性能上會(huì)比真機(jī)差。
而沙盒的里面的程序是由真機(jī)的物理CPU 、內(nèi)存處理的,區(qū)別只在于容器中執(zhí)行程序時(shí)不會(huì)對(duì)容器之外的原操作系統(tǒng)環(huán)境產(chǎn)生任何影響,比如我們的原操作系統(tǒng)是Centos ,你需要安裝mysql / mongodb 、JAVA 等程序,這些程序在安裝時(shí)會(huì)帶一大堆的支持庫(kù)/LIB/.A 等等,在你的系統(tǒng)中建立文件關(guān)聯(lián),久而久之各種庫(kù)不同的版本還會(huì)有沖突、互斥;如果采用容器就不會(huì)有這樣的問(wèn)題,每個(gè)程序的依賴環(huán)境包括支持庫(kù)都在自己的封裝包中,無(wú)需安裝運(yùn)行時(shí)也不對(duì)原系統(tǒng)產(chǎn)生改變。是很多是開(kāi)發(fā)人員的最愛(ài)。
對(duì)開(kāi)發(fā)和運(yùn)維(devop)人員來(lái)說(shuō),最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運(yùn)行。開(kāi)發(fā)者可以使用一個(gè)標(biāo)準(zhǔn)的鏡像來(lái)構(gòu)建一套開(kāi)發(fā)容器,開(kāi)發(fā)完成之后,運(yùn)維人員可以直接使用這個(gè)容器來(lái)部署代碼。Docker 可以快速創(chuàng)建容器,快速迭代應(yīng)用程序,并讓整個(gè)過(guò)程全程可見(jiàn),使團(tuán)隊(duì)中的其他成員更容易理解應(yīng)用程序是如何創(chuàng)建和工作的。Docker 容器很輕很快!容器的啟動(dòng)時(shí)間是秒級(jí)的,大量地節(jié)約開(kāi)發(fā)、測(cè)試、部署的時(shí)間。
什么是Docker?為什么要使用Docker
到此,以上就是小編對(duì)于docker和虛擬機(jī)的關(guān)系的問(wèn)題就介紹到這了,希望這3點(diǎn)解答對(duì)大家有用。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流