什么是容器?一句話概括容器:容器就是將軟件打包成標(biāo)準(zhǔn)化單元,以用于開發(fā)、交付和部署。
容器鏡像是輕量的,可執(zhí)行的獨(dú)立軟件包,包含軟件運(yùn)行所需的所有內(nèi)容:代碼,運(yùn)行時(shí)環(huán)境,系統(tǒng)工具,系統(tǒng)庫和設(shè)置。
容器化軟件適用于基于linux和windows的應(yīng)用,在任何環(huán)境中都能夠始終如一地運(yùn)行。
容器賦予了軟件獨(dú)立性,使其免受外在環(huán)境差異(例如,開發(fā)和預(yù)演環(huán)境的差異)的影響,從而有助于減少團(tuán)隊(duì)間在相同基礎(chǔ)設(shè)施上運(yùn)行不同軟件時(shí)的沖突。
我覺得容器就是一個(gè)存放東西的地方,就像房子可以裝各種家具,書架可以放各種書。我們現(xiàn)在所說的容器存放的東西可能更偏向于應(yīng)用,比如網(wǎng)站,程序甚至是系統(tǒng)環(huán)境。

Docker與虛擬機(jī)
Docker是一個(gè)能把開發(fā)的應(yīng)用程序自動部署到容器的開源引擎
虛擬機(jī)(Virtual machine)指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。在實(shí)體計(jì)算機(jī)中能夠完成的工作在虛擬機(jī)中都能夠?qū)崿F(xiàn)。在計(jì)算機(jī)中創(chuàng)建虛擬機(jī)時(shí),需要將實(shí)體機(jī)的部分硬盤和內(nèi)存容量作為虛擬機(jī)的硬盤和內(nèi)存容量。每個(gè)虛擬機(jī)都有獨(dú)立的CMOS、硬盤和操作系統(tǒng),可以像使用實(shí)體機(jī)一樣對虛擬機(jī)進(jìn)行操作

(1) 虛擬機(jī)是在一臺物理機(jī)上,利用虛擬化技術(shù),虛擬出來多個(gè)操作系統(tǒng),每個(gè)操作系統(tǒng)之間是隔離的。docker是開源的應(yīng)用容器引擎,依然需要先在電腦上安裝操作系統(tǒng),然后安裝Docker容器管理器。
(2) 虛擬機(jī)是在硬件級別進(jìn)行虛擬化,而docker是在操作系統(tǒng)的層面虛擬化
(3) 虛擬機(jī)是通過模擬硬件搭建操作系統(tǒng),而docker則是復(fù)用操作系統(tǒng)
(4) 虛擬機(jī)實(shí)現(xiàn)了操作系統(tǒng)之間的隔離,docker只是進(jìn)程之間的隔離,所以虛擬機(jī)的隔離級別更高,安全性更強(qiáng)
(5) docker的運(yùn)行速度更快
(6) docker的文件要小的多,虛擬機(jī)要大






