



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
overlay2驅(qū)動工作機制OverlayFS在單個Linux主機上分為兩個代表不同層次的目錄,并且對外統(tǒng)一呈現(xiàn)為單個目錄。這兩個目錄通常被稱作層,用于統(tǒng)一呈現(xiàn)目錄的聯(lián)合進(jìn)程被稱為聯(lián)合掛載(UnionMount)。OverlayFS將低層目錄稱為lowerdir,高層目錄稱為upperdir,對外公開統(tǒng)一視圖的目錄被稱為merged。而overlay2驅(qū)動本身最多支持128個OverlayFS層,這為與層相關(guān)的Docker命令(如dockerbuildand或dockercommit)提供更好的性能,并且在底層文件系統(tǒng)上占用更少的索引節(jié)點。圖1展示了Docker鏡像和Docker容器是如何分層的。鏡像層是lowerdir,容器層是upperdir。對外暴露的統(tǒng)一視圖就是容器掛載點。該圖還展示了Docker結(jié)構(gòu)是如何映射到OverlayFS結(jié)構(gòu)的。圖1OverlayFS的鏡像與容器分層當(dāng)鏡像層和容器層有相同的文件時,則容器層(upperdir)優(yōu)先,容器層的文件會掩蓋鏡像層中相同的文件。容器合并(merged)顯示出統(tǒng)一的視圖。為創(chuàng)建一個容器,overlay2驅(qū)動程序?qū)⒈硎剧R像的最頂層的目錄與容器的新目錄結(jié)合起來。鏡像的層是位于OverlayFS文件系統(tǒng)中的低層目錄lowerdir,并且是只讀的。容器的新目錄是高層目錄upperdir,并且是可寫的。接下來驗證分析overlay2存儲驅(qū)動所實現(xiàn)的鏡像層和容器層。Docker中的/var/lib/docker/overlay2目錄是用于存儲Docker容器的數(shù)據(jù)層和鏡像層的。每個鏡像層在/var/lib/docker/overlay2目錄中都有自己的目錄用于包含其內(nèi)容,但是鏡像層ID與目錄ID并不對應(yīng)。容器也存在于/var/lib/docker/overlay2目錄中。(1)在/var/lib/docker/overlay2目錄中會發(fā)現(xiàn)多個目錄。注意不要直接操作/var/lib/docker目錄中的任何文件和目錄,因為這些文件和目錄是由Docker管理的。使用tree命令該目錄層次結(jié)構(gòu)(為簡單起見,使用選項-L2僅顯示兩層目錄)。這里從中挑出同一個容器的兩個目錄。├──f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9│
├──diff│
├──link│
├──lower│
├──merged│
└──work├──f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9-init│
├──committed│
├──diff│
├──link│
├──lower│
└──work其中diff、merged和work是目錄,其他是文件。只有運行中的容器才存在merged目錄。(2)每一層中的diff目錄包含該層的實際內(nèi)容。[root@host1~]#ls-l/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/diff總用量0drwxr-xr-x3rootroot1711月122021var(3)每一層中都有一個link文件,內(nèi)容為l(小寫的L)目錄中的鏈接,該鏈接實際指向當(dāng)前層目錄中的diff目錄。例如:[root@host1~]#cat/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/linkBWSDOT2NTUWAXJYWESKLAHDUE2l(小寫的L)目錄包含的是符號鏈接。這些軟連接都是短格式的層標(biāo)識符,指向每一層中的diff目錄,這樣做的目的是避免執(zhí)行mount操作時超出頁大小限制。[root@host1~]#ls-l/var/lib/docker/overlay2/l/BWSDOT2NTUWAXJYWESKLAHDUE2lrwxrwxrwx1rootroot721月1517:47/var/lib/docker/overlay2/l/BWSDOT2NTUWAXJYWESKLAHDUE2->../f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/diff(4)除底層外,其余每一層的目錄中包含一個lower文件,用于表示其父層。該文件包含了該層的所有更低層的名稱和順序(用軟連接表示),可以根據(jù)該文件得出整個鏡像的層次結(jié)構(gòu)。[root@host1~]#cat/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/lowerl/HAKT3ASPFK5CBM4L6K4A425VHR:l/OANY2V3HOUMS4XLAWZ23Y4HTBL:l/RJPQZOEQBUQBL3I44S7BT53GYI:l/I35GBRKS4OJGLSYNI6RUETU5BR:l/IC6IGNFNW3OPWXMBT7RZCKHGDW:l/YRCQ2UOSSRP56ZKP6DIHFE2WAP本例中該層下面包括6個低層。繼續(xù)追蹤下一層進(jìn)行驗證。[root@host1~]#ls-l/var/lib/docker/overlay2/l/HAKT3ASPFK5CBM4L6K4A425VHRlrwxrwxrwx1rootroot771月1517:47/var/lib/docker/overlay2/l/HAKT3ASPFK5CBM4L6K4A425VHR->../f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9-init/diff查看該層的實際內(nèi)容。[root@host1~]#ls-l/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9-init/diff總用量0drwxr-xr-x4rootroot431月1517:47devdrwxr-xr-x2rootroot661月1517:47etc查看該層lower文件的內(nèi)容。[root@host1~]#cat/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9-init/lowerl/OANY2V3HOUMS4XLAWZ23Y4HTBL:l/RJPQZOEQBUQBL3I44S7BT53GYI:l/I35GBRKS4OJGLSYNI6RUETU5BR:l/IC6IGNFNW3OPWXMBT7RZCKHGDW:l/YRCQ2UOSSRP56ZKP6DIHFE2WAP繼續(xù)追蹤最低層。[root@host1~]#ls-l/var/lib/docker/overlay2/l/YRCQ2UOSSRP56ZKP6DIHFE2WAPlrwxrwxrwx1rootroot721月1517:47/var/lib/docker/overlay2/l/YRCQ2UOSSRP56ZKP6DIHFE2WAP->../f796eb6054f40344cf72dca3b593bf7026c9114364108e130739489546566903/diff[root@host1~]#ls-l/var/lib/docker/overlay2/f796eb6054f40344cf72dca3b593bf7026c9114364108e130739489546566903總用量8-rw-------1rootroot01月1517:47committeddrwxr-xr-x19rootroot40961月1517:47diff-rw-r--r--1rootroot261月1517:47link可以發(fā)現(xiàn),最低層也就是底層,沒有l(wèi)ower文件,因此例中f796eb6054f40344cf72dca3b593bf7026c9114364108e130739489546566903為鏡像的底層。這一層的實際內(nèi)容如下。[root@host1~]#ls-l/var/lib/docker/overlay2/f796eb6054f40344cf72dca3b593bf7026c9114364108e130739489546566903/diff總用量12drwxr-xr-x2rootroot409611月122021bindrwxr-xr-x2rootroot611月122021devdrwxr-xr-x15rootroot409611月122021etcdrwxr-xr-x2rootroot611月122021homedrwxr-xr-x5rootroot18511月122021libdrwxr-xr-x5rootroot4411月122021mediadrwxr-xr-x2rootroot611月122021mntdrwxr-xr-x2rootroot611月122021optdr-xr-xr-x2rootroot611月122021procdrwx------2rootroot611月122021rootdrwxr-xr-x2rootroot611月122021rundrwxr-xr-x2rootroot409611月122021sbindrwxr-xr-x2rootroot611月122021srvdrwxr-xr-x2rootroot611月122021sysdrwxrwxrwt2rootroot611月122021tmpdrwxr-xr-x7rootroot6611月122021usrdrwxr-xr-x12rootroot13711月122021var(5)除底層外,其余每一層的目錄中還包含一個merged目錄(其中包含其父層和自身的合成內(nèi)容)和一個由OverlayFS內(nèi)部使用的work目錄(容器工作目錄)。[root@host1~]#ls-l/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/merged總用量8drwxr-xr-x1rootroot2211月132021bindrwxr-xr-x1rootroot431月1517:47dev-rwxrwxr-x1rootroot15511月132021entrypoint.shdrwxr-xr-x1rootroot661月1517:47etcdrwxr-xr-x2rootroot611月122021homedrwxr-xr-x1rootroot1711月122021libdrwxr-xr-x5rootroot4411月122021mediadrwxr-xr-x2rootroot611月122021mntdrwxr-xr-x2rootroot611月122021optdr-xr-xr-x2rootroot611月122021procdrwx------2rootroot611月122021rootdrwxr-xr-x2rootroot611月122021rundrwxr-xr-x2rootroot409611月122021sbindrwxr-xr-x2rootroot611月122021srvdrwxr-xr-x2rootroot611月122021sysdrwxrwxrwt2rootroot611月122021tmpdrwxr-xr-x1rootroot5511月122021usrdrwxr-xr-x1rootroot1711月122021var[root@host1~]#ls-l/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/work總用量0d---------2rootroot61月2216:59workmerged目錄中內(nèi)容最多,它是overlay2的直接掛載點,對容器的任何修改會反應(yīng)到該目錄中。(6)執(zhí)行以下命令查看使用Docker的overlay2存儲驅(qū)動時存在的掛載(此時容器正在運行)。為了可讀性,下面的輸出被調(diào)整。[root@host1~]#mount|grepoverlayoverlayon/var/lib/docker/overlay2/f332bbba101bfc02ecfd92eb71f0677d26d314220d2337eacb534efd711cc7f9/m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 造價咨詢服務(wù)實施計劃協(xié)議
- 購房合同的補充條款
- 采購改進(jìn)方案協(xié)議
- 人力資源部培訓(xùn)體系總結(jié)與未來計劃
- 合伙養(yǎng)殖家禽協(xié)議書范文
- 幼兒園教職工健康管理計劃
- 小學(xué)體育五年級多項運動教學(xué)計劃
- 新版六年級語文下冊家長溝通計劃
- 小學(xué)語文學(xué)科銜接計劃與實施細(xì)則
- 2025年火災(zāi)事故應(yīng)急響應(yīng)計劃
- 2022年全國大學(xué)生英語競賽C類試題
- 裝飾、裝修施工方案
- 礦井瓦斯抽采
- 施工現(xiàn)場安全檢查記錄表(周)以及詳細(xì)記錄
- 立法學(xué)完整版教學(xué)課件全套ppt教程
- 五年級下冊科學(xué)說課課件 -1.2 沉浮與什么因素有關(guān) |教科版 (共28張PPT)
- 流動注射分析儀常見問題解決方案.
- 《出口報關(guān)單模板》word版
- 邊坡護(hù)坡檢驗批表格模板
- 工會會計制度——會計科目和會計報表(全)
- 馬清河灌區(qū)灌溉系統(tǒng)的規(guī)劃設(shè)計課程設(shè)計
評論
0/150
提交評論