什么是 Docker糟描?翻譯一下意思是:碼頭工人蛙奖,搬東西的奖亚。那計算機世界里 Docker 又代表什么意思呢然眼?看下官方說法:
Docker is the world's leading software containerization platform.
翻譯:Docker 是世界領(lǐng)先的集裝箱化(容器)平臺軟件
貌似只知道是個平臺軟件讳推,那它主要用來干嘛呢顶籽?看下官方說明:
將你的應(yīng)用打包成標準化單元供軟件開發(fā)用。
Docker 容器包含一套完整的文件系統(tǒng)银觅,包含運行所需的所有東西:代碼礼饱、運行時、系統(tǒng)工具究驴、系統(tǒng)庫镊绪,任何能安裝在服務(wù)器上的軟件。這保證了軟件總是同樣運行洒忧,而忽略了軟件所在的環(huán)境因素蝴韭。
不難理解,Docker 就是個容器熙侍,可以包含你所需要的所有軟件榄鉴,并可打包成獨立的單元,以便快速復(fù)制蛉抓,部署庆尘。容器之間相互隔離,且不受系統(tǒng)環(huán)境的影響芝雪。
如圖:
說到容器减余,那你肯定會聯(lián)想到虛擬機,Docker 和虛擬機有什么區(qū)別惩系,又有什么優(yōu)劣呢位岔?讓我們來做個比喻如筛,假設(shè)我們有個倉庫(服務(wù)器)可以存儲東西,倉庫中裝有制冷設(shè)備(系統(tǒng)資源)對倉庫進行溫度控制抒抬。隨著倉庫的利用杨刨,儲藏的東西越來越多,有水果擦剑,蔬菜妖胀,肉等。每樣?xùn)|西儲藏的溫度要求不同惠勒,不能放在一塊赚抡。于是有人就對倉庫進行了改造,把倉庫改造成一個個帶獨立制冷設(shè)備的儲藏間(虛擬機)纠屋,這樣就解決了不同物品的保存問題了涂臣。本來這樣事情就解決了,可是有些人覺得每個儲藏間都帶個制冷設(shè)備太貴了不劃算售担,能不能用共用一個制冷設(shè)備赁遗。經(jīng)過一番周折他們給倉庫裝上了中央空調(diào),通過制冷管連接每個儲藏間族铆,儲藏間的制冷設(shè)備換成了制冷開關(guān)岩四。這時候的儲藏間(容器)同樣能滿足不同物品的存放要求。這種方式是不是更經(jīng)濟呢哥攘?說了這么多不如一張圖:
可以看出剖煌,容器比虛擬機更輕便,占用的系統(tǒng)資源更少献丑,這也意味著容器的效率更高末捣,性能相對更好。架構(gòu)圖對比:
Docker 是直接跟系統(tǒng)主機打交道创橄,而虛擬機是先創(chuàng)建虛擬機環(huán)境再通過虛擬機管理程序和主機通信箩做。Docker 是基于 libcontainer 包對容器進行管理。