docker 核心是什么?
1、鏡像自身是只讀的;
簡(jiǎn)單的說(shuō),容器是鏡像的一個(gè)運(yùn)行實(shí)例。所不同的是,鏡像只是靜態(tài)的只讀文件,而容器帶有運(yùn)行時(shí)需要的可寫(xiě)文件層。
如果認(rèn)為虛擬機(jī)是模擬運(yùn)行的一整套操作系統(tǒng)(包括內(nèi)核、應(yīng)用運(yùn)行態(tài)環(huán)境和其它系統(tǒng)環(huán)境)和跑在上面的應(yīng)用,
那么docker容器就是獨(dú)立運(yùn)行的一個(gè)(或一組)應(yīng)用,以及它必須的運(yùn)行環(huán)境。
2、docker倉(cāng)庫(kù)類似于代碼倉(cāng)庫(kù),它是docker集中存放鏡像文件的場(chǎng)所;
需要注意的是倉(cāng)庫(kù)(repository),不要將docker倉(cāng)庫(kù)和倉(cāng)庫(kù)注冊(cè)服務(wù)器(registry)混淆。
倉(cāng)庫(kù)注冊(cè)服務(wù)器是存放倉(cāng)庫(kù)的地方,其上往往存放著多個(gè)倉(cāng)庫(kù)。
每個(gè)倉(cāng)庫(kù)集中存放某一類鏡像,往往包括多個(gè)鏡像文件,通過(guò)不同的標(biāo)簽(tag)來(lái)區(qū)分。
比如,在下面這個(gè)倉(cāng)庫(kù)注冊(cè)服務(wù)器中就有多個(gè)倉(cāng)庫(kù),有Ubantu倉(cāng)庫(kù)、有CentOS的倉(cāng)庫(kù),還有很多其它的倉(cāng)庫(kù)。
3、Docker鏡像類似于虛擬機(jī)鏡像,可以將其理解為一個(gè)只讀模板。
docker容器類似于一個(gè)輕量級(jí)的沙箱,Docker利用容器來(lái)運(yùn)行和隔離應(yīng)用。
容器是從鏡像創(chuàng)建的應(yīng)用運(yùn)行實(shí)例。可以將其啟動(dòng)、開(kāi)始、停止、刪除,而這些容器都是彼此相互隔離的、互不可見(jiàn)的。
推薦教程:《PHP教程》