亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解docker容器的層的概念

瀏覽:111日期:2024-10-28 14:37:34

今天我們看看容器的層的概念。

上一節(jié)中,我們知道了,容器是一個(gè)進(jìn)程,在這個(gè)進(jìn)程的基礎(chǔ)上,添加了下面3個(gè)部分:

1、啟動(dòng)Linux Namespace的配置實(shí)現(xiàn)與物理機(jī)的隔離。

2、設(shè)置Cgroups參數(shù)限制容器的資源。

3、生成系統(tǒng)文件目錄,也就是rootfs文件,也叫鏡像文件

這里需要備注的是:rootfs只是容器需要使用的基本文件的組合,并不包括操作系統(tǒng)內(nèi)核,容器的操作系統(tǒng)內(nèi)核依舊是使用宿主機(jī)的內(nèi)核。當(dāng)然,rootfs的存在,并不是沒(méi)有意義,它的存在,使得容器擁有了一個(gè)最主要的性能:一致性。

01 容器的一致性

容器的rootfs打包了操作系統(tǒng)的所有文件和目錄,包含了所有的依賴,有了這個(gè)特性,就使得容器無(wú)論在本地、云端,用戶只需要解壓打包好的容器鏡像,那么應(yīng)用運(yùn)行的環(huán)境就被搭建好了。

這就是容器的一致性。

02 層的概念

'我之所以看的遠(yuǎn),是因?yàn)槲艺驹诰奕说募绨蛏?,牛頓曾經(jīng)這句話在今天也依舊適用。'不要做重復(fù)造輪子的人',在我們開(kāi)發(fā)應(yīng)用的時(shí)候,我們只需要借助Linux操作系統(tǒng)去開(kāi)發(fā)即可,我們不需要為了跑我們的應(yīng)用,重新開(kāi)發(fā)一個(gè)Linux系統(tǒng)。

在容器的使用過(guò)程中,如果我們已經(jīng)存在一個(gè)已有的MySQL容器鏡像,里面有數(shù)據(jù)A;此時(shí),其他人也想要一個(gè)MySQL容器鏡像,導(dǎo)入他們的數(shù)據(jù)B,這個(gè)時(shí)候,我們只需要在我們自己的MySQL容器刪除數(shù)據(jù)A,再重新導(dǎo)入數(shù)據(jù)B即可。

在上面描述的場(chǎng)景中,一旦刪除數(shù)據(jù)A,導(dǎo)入數(shù)據(jù)B,那么這個(gè)容器我們自己就不能用了,因?yàn)閿?shù)據(jù)A已經(jīng)刪除了。這顯然不是我們想要的結(jié)果。很明顯,數(shù)據(jù)集A和數(shù)據(jù)集B都需要的是一個(gè)安裝了MySQL,但是沒(méi)有數(shù)據(jù)的容器鏡像(也就是rootfs)。

Docker軟件在設(shè)計(jì)的時(shí)候,引入了'層'的概念,很巧妙的解決了這個(gè)問(wèn)題。

'層'的概念是通過(guò)聯(lián)合文件系統(tǒng)AuFS來(lái)實(shí)現(xiàn)的,全稱(chēng)是Advance UnionFS。它的概念不難理解,舉例如下:

目錄1包含文件a,文件c

目錄2包含文件b,文件c

通過(guò)聯(lián)合文件方式,將目錄1和目錄2掛在在目錄3上,此時(shí),目錄3擁有文件a、b、c三個(gè)文件。

此時(shí),如果在目錄3中對(duì)文件a、b、c進(jìn)行修改,對(duì)應(yīng)的目錄1和目錄2也會(huì)生效。

如何通過(guò)'聯(lián)合文件系統(tǒng)'實(shí)現(xiàn)層,這個(gè)問(wèn)題其實(shí)比較復(fù)雜,留給有興趣讀者自己思考吧,這里,我們只需要了解層的概念是通過(guò)聯(lián)合文件系統(tǒng)實(shí)現(xiàn)的就行。

下面是一個(gè)mysql基礎(chǔ)鏡像的'層'的例子:

[root@VM-0-14-centos ~]# docker image inspect docker.io/mysql [ {'Id': 'sha256:db2b37ec6181ee1f367363432f841bf3819d4a9f61d26e42ac16e5bd7ff2ec18','RepoTags': [ 'docker.io/mysql:latest'],......'RootFS': { 'Type': 'layers', 'Layers': ['sha256:d0fe97fa8b8cefdffcef1d62b65aba51a6c87b6679628a2b50fc6a7a579f764c','sha256:329fe06a30f03f9131ce8d9db2e8a9f725b18efe3457d6f015e1c4d8a3f41a0a','sha256:ec8c80284c72bcf47ffedc0dde4d5792de761d52f974c30d37d52b9ac00e8a2a','sha256:9dae2565e824235798981525d6ff9114817b7139c073e0d216b00ae9e58f74d0','sha256:36b89ee4c647b9c21de8b5476b4922efc873aba69705c169e1a3edcf9128679b','sha256:c21e35e55228365b268f57fac382a6e991db216cb03d9b7079496f5498956ab0','sha256:15b463db445cb750fa6bc908a41fd18e38c4d2a02a978b66beb598c4f3f57b95','sha256:7832ac00d41eda3a773a18408dea0b8e05ddbdd3a1e94afef3b6e3dc6444b7bb','sha256:7f893b7c04ac2f939737d2da4e15af796c7acc0fd10c2951d9ae5bf33ceec2dc','sha256:060fef62a228fff7e9dc3b7008bc9089e642ef29dc699f7e90c36ced5b2e75c6','sha256:af6e790b82373cc65ca73efe5cc8945731525a9dcae6deeea2a5a5802561a72a','sha256:9b0377a95c0e0bd5aa5b220449d17333faaa0e2bd7e8b93565beeadbf3906646' ]} }]

可以看到,RootFS字樣的就是容器的文件系統(tǒng),Layers就是“層”。

那么一個(gè)docker容器鏡像,分為哪些層呢???

詳解docker容器的層的概念

按照功能的不同,主要分為只讀層、init層和讀寫(xiě)層。

只讀層:

只讀層的掛載方式都是只讀的,這些層都是以增量的方式掛載了操作系統(tǒng)的一部分。

可讀寫(xiě)層:

它是這個(gè)鏡像的最頂層,它的掛載方式為讀寫(xiě),沒(méi)有寫(xiě)入文件之前,這個(gè)目錄是空的,而一旦在容器里面執(zhí)行了寫(xiě)操作,你修改的內(nèi)容就會(huì)通過(guò)增量的方式出現(xiàn)在這個(gè)層中。

init層:

init層是docker專(zhuān)門(mén)生成的一個(gè)內(nèi)部層,主要是存放/etc/hosts、/etc/resolv.conf等文件的。

之所以存放這些特定文件,是因?yàn)檫@些文件本來(lái)是操作系統(tǒng)的一部分,但是用戶的應(yīng)用程序往往會(huì)修改這些文件,這些修改只對(duì)當(dāng)前容器有效,我們不希望docker commit的時(shí)候,將這些改變同讀寫(xiě)層一起提交掉。

幾點(diǎn)注意:

1、用戶執(zhí)行docker commit的時(shí)候,只會(huì)提交讀寫(xiě)層的內(nèi)容。

2、如果我們要?jiǎng)h除一個(gè)只讀層文件a.txt,那么我們只需要在讀寫(xiě)層寫(xiě)一個(gè)同名的文件.wh.a.txt,這樣,a.txt這個(gè)文件就會(huì)被.wh.a.txt這個(gè)文件給遮擋起來(lái),實(shí)現(xiàn)了刪除的目的。

03 分層設(shè)計(jì)的優(yōu)點(diǎn)

通過(guò)分層設(shè)計(jì),增量式數(shù)據(jù)操作,每次拉取、修改的內(nèi)容,比完整的操作系統(tǒng)小;

底層只讀層的共享,讓多個(gè)容器鏡像使用的總空間,也比每個(gè)容器鏡像的總和要小;

同時(shí),基于容器鏡像的團(tuán)隊(duì)協(xié)作,可以將各個(gè)公司,不同領(lǐng)域的人聯(lián)系起來(lái),更加快速的迭代出新的功能。

以上就是詳解docker容器的層的概念的詳細(xì)內(nèi)容,更多關(guān)于docker容器的層的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 国产日产久久 | 中国黄色大片 | 黄色影 | 亚洲精品第一区二区在线 | 打床炮视频在线观看免费 | 国产精品高清一区二区不卡 | 日韩在线视频免费观看 | 日韩视频在线免费观看 | 91精品国产91久久久久久青草 | 欧洲美女高清一级毛片 | 99视频在线精品免费观看18 | 女人被狂躁的视频免费动图 | 精品国产一级在线观看 | 欧美国产日本 | 一级欧美一级日韩毛片99 | 伊人影院99| 国产91小视频在线观看 | 在线观看视频一区二区三区 | 小明看看免费视频 | 天天影视亚洲 | 国产成人精品日本 | 996免费视频国产在线播放 | 香蕉影视在线观看 | 外国激情视频 | hh99me福利毛片 | 国产短视频精品一区二区三区 | 在线观看视频一区 | 黑粗硬大欧美 | 一区二区三区视频在线播放 | 国产麻豆媒一区一区二区三区 | 婷婷五月色综合香五月 | 亚洲天堂久久精品成人 | 国产在线观看免费不卡 | 91精品国产高清91久久久久久 | 黄色好看视频 | wwwwww黄| 免费观看黄色一级片 | 三级黄色片免费观看 | 国产区在线观看视频 | 欧美一级特黄aaaaaa在线看片 | 午夜黄色大片 |