政府門戶網(wǎng)站建設(shè)方案下載磁力吧ciliba
二、Docker 容器技術(shù)與虛擬機(jī)的區(qū)別
Docker 到底是個什么東西呢?我們在理解 Docker 之前,首先得先區(qū)分清楚兩個概念,容器和虛擬機(jī)。
?
虛擬機(jī)
虛擬機(jī)(Virtual Machine)指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個完全隔離環(huán)境中的完整計算機(jī)系統(tǒng)。在實體計算機(jī)中能夠完成的工作在虛擬機(jī)中都能夠?qū)崿F(xiàn)。在計算機(jī)中創(chuàng)建虛擬機(jī)時,需要將實體機(jī)的部分硬盤和內(nèi)存容量作為虛擬機(jī)的硬盤和內(nèi)存容量。每個虛擬機(jī)都有獨立的CMOS、硬盤和操作系統(tǒng),可以像使用實體機(jī)一樣對虛擬機(jī)進(jìn)行操作。
?
可能很多讀者朋友都用過虛擬機(jī),而對容器這個概念比較的陌生。我們用的傳統(tǒng)虛擬機(jī)如 VMware , VisualBox 之類的需要模擬整臺機(jī)器包括硬件。
?
每臺虛擬機(jī)都需要有自己的操作系統(tǒng),虛擬機(jī)一旦被開啟,預(yù)分配給它的資源將全部被占用。
?
每一臺虛擬機(jī)包括應(yīng)用,必要的二進(jìn)制和庫,以及一個完整的用戶操作系統(tǒng)。
?
容器
Docker 容器是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以以統(tǒng)一的方式打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何安裝了docker引擎的服務(wù)器上(包括流行的Linux機(jī)器、windows機(jī)器),也可以實現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行。最重要的是,他們不依賴于任何語言、框架包括系統(tǒng)。
?
而容器技術(shù)是和我們的宿主機(jī)共享硬件資源及操作系統(tǒng),可以實現(xiàn)資源的動態(tài)分配。
?
容器包含應(yīng)用和其所有的依賴包,但是與其他容器共享內(nèi)核。容器在宿主機(jī)操作系統(tǒng)中,在用戶空間以分離的進(jìn)程運(yùn)行。
?
容器技術(shù)是實現(xiàn)操作系統(tǒng)虛擬化的一種途徑,可以讓您在資源受到隔離的進(jìn)程中運(yùn)行應(yīng)用程序及其依賴關(guān)系。
?
通過使用容器,我們可以輕松打包應(yīng)用程序的代碼、配置和依賴關(guān)系,將其變成容易使用的構(gòu)建塊,從而實現(xiàn)環(huán)境一致性、運(yùn)營效率、開發(fā)人員生產(chǎn)力和版本控制等諸多目標(biāo)。
?
容器可以幫助保證應(yīng)用程序快速、可靠、一致地部署,其間不受部署環(huán)境的影響。
?
容器還賦予我們對資源更多的精細(xì)化控制能力,讓我們的基礎(chǔ)設(shè)施效率更高。
今日學(xué)習(xí)寄語:
1、要么做第一個,要么做最好的一個。
2、信念和目標(biāo),必須永遠(yuǎn)洋溢在程序員內(nèi)心。3、最累的時候,家人是你最好的歸宿。
4、C程序員永遠(yuǎn)不會滅亡。他們只是cast成了void。
5、真正的程序員認(rèn)為自己比用戶更明白用戶需要什么。
6、退一步海闊天空,這是一種應(yīng)有的心境。
7、過去的代碼都是未經(jīng)測試的代碼。
8、優(yōu)秀的判斷力來自經(jīng)驗,但經(jīng)驗來自于錯誤的判斷。
9、測試是來表明bug的存在而不是不存在。
10、我們這個世界的一個問題是,蠢人信誓旦旦,智人滿腹狐疑。
11、一個好漢三個幫,程序員同樣如此。
12、看再多的書是學(xué)不全腳本的,要多實踐。13、無私奉獻(xiàn)不是天方夜譚,有時候,我們也可以做到。
14、世界上只有兩句真理:1、人一定會死。2、程序一定有Bug。
15、UNIX很簡單。但需要有一定天賦的人才能理解這種簡單。
16、程序中蘊(yùn)含著很多的道理,唯有大徹大悟者方能體會其中的奧妙。
17、編程中我們會遇到多少挫折?表放棄,沙漠盡頭必是綠洲。
18、做技術(shù)一定要一顆恒心,這樣才不會半途而廢。
19、不要被對象、屬性、方法等詞匯所迷惑;最根本的是先了解最基礎(chǔ)知識。
20、請把書上的例子親手到電腦上實踐,即使配套光盤中有源文件。
?