聯(lián)合文件系統(tǒng)是 Docker 鏡像的基礎(chǔ)。鏡像可以通過分層來進(jìn)行繼承,基于基礎(chǔ)鏡像(沒有父鏡像),可以制作各種具體的應(yīng)用鏡像。
聯(lián)合文件系統(tǒng)(UnionFS)是一種分層、輕量級并且高性能的文件系統(tǒng),它支持對文件系統(tǒng)的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統(tǒng)下(unite several directories into a single virtual filesystem)。
不同 Docker 容器就可以共享一些基礎(chǔ)的文件系統(tǒng)層,同時再加上自己獨有的改動層,大大提高了存儲的效率。
當(dāng)用戶通過升級程序到新版本,改變了一個Docker鏡像時,一個新的鏡像層會被創(chuàng)建。因此,用戶不用替換整個原鏡像或者完全重新建立新鏡像,只需要添加新層即可。在用戶分發(fā)鏡像的時,也只需要分發(fā)被改動的新層內(nèi)容(增量部分)。這讓Docker的鏡像管理變得十分輕松級和快速。
Docker 中使用的 AUFS(AnotherUnionFS)就是一種聯(lián)合文件系統(tǒng)。 AUFS 支持為每一個成員目錄(類似 Git 的分支)設(shè)定只讀(readonly)、讀寫(readwrite)和寫出(whiteout-able)權(quán)限, 同時 AUFS 里有一個類似分層的概念, 對只讀權(quán)限的分支可以邏輯上進(jìn)行增量地修改(不影響只讀部分的)。
Docker容器是建立在Aufs基礎(chǔ)上的,Aufs是一種Union FS, 簡單來說就是支持將不同的目錄掛載到同一個虛擬文件系統(tǒng)下,并實現(xiàn)一種layer的概念。
Aufs將掛載到同一虛擬文件系統(tǒng)下的多個目錄分別設(shè)置成read-only,read-write以及whiteout-able權(quán)限,對read-only目錄只能讀,而寫操作只能實施在read-write目錄中。重點在于,寫操作是在read-only上的一種增量操作,不影響read-only目錄。
當(dāng)掛載目錄的時候要嚴(yán)格按照各目錄之間的這種增量關(guān)系,將被增量操作的目錄優(yōu)先于在它基礎(chǔ)上增量操作的目錄掛載,待所有目錄掛載結(jié)束了,繼續(xù)掛載一個read-write目錄,如此便形成了一種層次結(jié)構(gòu)。
網(wǎng)站標(biāo)題:云計算核心技術(shù)Docker教程:Docker聯(lián)合文件系統(tǒng)介紹
鏈接URL:http://www.rwnh.cn/article46/cggjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、動態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計、ChatGPT、軟件開發(fā)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容