如何通俗解釋D ocker是什么?
Docker思想來自于集裝箱,集裝箱解決了什么問題呢?比如,在一艘大船上,要把各種各樣的貨物要整理起來,集裝箱(Docker)就可以做到,并且相互間不會影響。就不需要指定運(yùn)輸?shù)拇?這個船運(yùn)吃的那個船運(yùn)穿的)。只要把貨物裝在集裝箱里封裝好,就可以用一艘大船把他們都運(yùn)走。
1.Docker就是類似的理念。云計算是運(yùn)輸船,Docker就是集裝箱。
1.不同的應(yīng)用程序可能會有不同的應(yīng)用環(huán)境,比如.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務(wù)器上就要調(diào)試很久,而且很麻煩,還會造成一些沖突。比如IIS和Apache訪問端口沖突。這個時候你就要隔離.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站。常規(guī)來講,我們可以在服務(wù)器上創(chuàng)建不同的虛擬機(jī)在不同的虛擬機(jī)上放置不同的應(yīng)用,但是虛擬機(jī)開銷比較高。docker可以實(shí)現(xiàn)虛擬機(jī)隔離應(yīng)用環(huán)境的功能,并且開銷比虛擬機(jī)小,小就意味著省錢了。
2.你開發(fā)軟件的時候用的是Ubuntu,但是運(yùn)維管理的都是centos,運(yùn)維在把你的軟件從開發(fā)環(huán)境轉(zhuǎn)移到生產(chǎn)環(huán)境的時候就會遇到一些Ubuntu轉(zhuǎn)centos的問題,比如:有個特殊版本的數(shù)據(jù)庫,只有Ubuntu支持,centos不支持,在轉(zhuǎn)移的過程當(dāng)中運(yùn)維就得想辦法解決這樣的問題。這時候要是有docker你就可以把開發(fā)環(huán)境直接封裝轉(zhuǎn)移給運(yùn)維,運(yùn)維直接部署你給他的docker就可以了。而且部署速度快。
3.在服務(wù)器負(fù)載方面,如果你單獨(dú)開一個虛擬機(jī),那么虛擬機(jī)會占用空閑內(nèi)存的,docker部署的話,這些內(nèi)存就會利用起來。
總之docker就是集裝箱原理。
4.docker就是用來存放應(yīng)用的一個容器