介紹
Docker是一款比傳統(tǒng)虛擬機(jī)軟件更先進(jìn)的虛擬化工具,可以快速的在不同機(jī)器上搭建出一致的開(kāi)發(fā)郊供、調(diào)試甸陌、運(yùn)行環(huán)境须揣。它的核心概念有鏡像、容器和倉(cāng)庫(kù)钱豁。
- 鏡像(Image)
類(lèi)似于ISO文件耻卡,是一個(gè)打包好的運(yùn)行環(huán)境。一個(gè)鏡像可以是一個(gè)linux操作系統(tǒng)牲尺,一個(gè)nodejs運(yùn)行環(huán)境等等卵酪。鏡像不可修改。 - 容器(Container)
利用鏡像可以創(chuàng)建出若干個(gè)容器(Container)谤碳,從而運(yùn)行鏡像中預(yù)設(shè)的軟件溃卡。如果把鏡像比作類(lèi),一個(gè)容器就是鏡像類(lèi)的一個(gè)實(shí)例蜒简。容器是通過(guò)在鏡像的基礎(chǔ)上添加了一個(gè)可修改層實(shí)現(xiàn)的瘸羡。我們可以在這個(gè)可修改層上添加新的文件。通過(guò)docker commit指令可以將可修改層提交到鏡像中臭蚁,從而生成一個(gè)新的鏡像最铁。事實(shí)上讯赏,鏡像就是這樣一層層糊出來(lái)的垮兑。 - 倉(cāng)庫(kù)(Repository)
有了鏡像之后,可以很方便的在不同的機(jī)器上運(yùn)行一致的環(huán)境漱挎。為了方便鏡像共享系枪,我們需要一個(gè)集中的存儲(chǔ)、分發(fā)鏡像的地方磕谅,這就是Docker registry私爷。在這上面雾棺,有若干個(gè)倉(cāng)庫(kù)(Repository),每個(gè)倉(cāng)庫(kù)可以包含多個(gè)標(biāo)簽衬浑,一個(gè)標(biāo)簽代表一個(gè)鏡像捌浩。如ubuntu倉(cāng)庫(kù)上有不同版本的標(biāo)簽:latest
、14.04
工秩,16.04
尸饺,分別代表不同版本的ubuntu鏡像。
one more thing
- 入門(mén)教程可以看這個(gè):Docker — 從入門(mén)到實(shí)踐
- docker commit可以理解鏡像的構(gòu)成原理助币,但實(shí)際上浪听,我們是通過(guò)定制配置文件
dockerfile
的方式來(lái)創(chuàng)建鏡像的。 - docker中的容器是與外部環(huán)境完全隔離的眉菱,如果需要數(shù)據(jù)共享迹栓,需要在容器上掛載數(shù)據(jù)卷(volume)。數(shù)據(jù)卷是獨(dú)立于容器存在的俭缓,容器銷(xiāo)毀后數(shù)據(jù)卷仍然存在克伊。
- Docker基于Linux系統(tǒng)開(kāi)發(fā)的,在Windows上安裝有如下方式:
- 如果是64位Windows 10 Pro(注意關(guān)鍵字尔崔,缺一不可:64位答毫、Win10、Pro)季春,并且開(kāi)啟了Hyper-V洗搂,可以用官方的Docker for Windows軟件直接安裝;
- 否則用DockerToolbox軟件進(jìn)行安裝载弄。
以上2種方式耘拇,都是在Windows上虛擬出了一個(gè)linux來(lái),比較蛋疼宇攻。