国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)

2019-11-02 16:37:27
字體:
供稿:網(wǎng)友

Docker 容器文件系統(tǒng)

Dockerfile是軟件的原材料,Docker鏡像是軟件的交付品,而Docker容器則可以認(rèn)為是軟件的運(yùn)行態(tài)。從應(yīng)用軟件的角度來看,Dockerfile、Docker鏡像與Docker容器分別代表軟件的三個(gè)不同階段,Dockerfile面向開發(fā),Docker鏡像成為交付標(biāo)準(zhǔn),Docker容器則涉及部署與運(yùn)維,三者缺一不可,合力充當(dāng)Docker體系的基石。

Docker鏡像

Docker鏡像是Dockerfile的產(chǎn)物,是Docker容器的前提,大有承前啟后之意。Docker技術(shù)發(fā)展兩年有余,相信大家很早就聽說過Docker大多采用聯(lián)合文件系統(tǒng)(Union Filesystem),為Docker容器提供文件系統(tǒng)服務(wù)。

關(guān)于Docker鏡像,有以下特性:

由Dockerfile生成 呈現(xiàn)層級結(jié)構(gòu) 每層鏡像包含:鏡像文件以及鏡像json元數(shù)據(jù)信息

Docker容器

Docker容器是Docker鏡像的運(yùn)行態(tài)體現(xiàn)。概括而言,就是在Docker鏡像之上,運(yùn)行進(jìn)程。進(jìn)程啟動的方式有兩種,用戶即可以選擇運(yùn)行自己另行指定的命令,也可以選擇運(yùn)行Docker鏡像內(nèi)部指定的命令。

Docker容器的文件系統(tǒng),可以說大部分由Docker鏡像來提供。為什么說是大部分呢?其實(shí)是有原因的,鏡像內(nèi)容雖多,但依然不是全部。下面,我會帶大家看看,Docker鏡像中有什么,而Docker容器的哪些內(nèi)容不在Docker鏡像中。

Docker容器文件系統(tǒng)

那就讓我們一圖看盡Docker容器的文件系統(tǒng):

這里寫圖片描述

上圖從一個(gè)較為全面的角度闡述了DockerfileDocker鏡像Docker容器三者的關(guān)系。

Dockerfile體現(xiàn)

Docker容器已經(jīng)在運(yùn)行,但是追本溯源,我們依然可以找到Dockerfile的影子。上圖中,我們可以發(fā)現(xiàn),Docker容器依附Docker鏡像,而Docker鏡像Dockerfile是這樣的:

FROM ubuntu:14.04ADD run.sh /VOLUME /dataCMD ["./run.sh"]

我們可以看到,以上Dockerfile中的每一條命令,都在Docker鏡像中以一個(gè)獨(dú)立鏡像層的形式存在。

Docker鏡像體現(xiàn)

毫無疑問,Docker鏡像是由Dockerfile構(gòu)建而成,我們也可以看到圖中下4層被標(biāo)記為Docker鏡像。作為Docker技術(shù)的核心,我們必須了解Docker如何構(gòu)建鏡像,以及Docker鏡像構(gòu)建之后的產(chǎn)物是什么。

初次接觸Docker,了解層級管理的Docker鏡像之后,很容易就認(rèn)為:每一層Docker鏡像中都含有相應(yīng)的文件系統(tǒng)文件。其實(shí)不然,以上Dockerfile中的4條命令,則是一個(gè)很好的佐證。

FROM ubuntu:14.04 :設(shè)置基礎(chǔ)鏡像,此時(shí)會使用基礎(chǔ)鏡像ubuntu:14.04的所有鏡像層,為簡單起見,圖中將其作為一個(gè)整體展示。

ADD run.sh /:將Dockerfile所在目錄的文件run.sh加至鏡像的根目錄,此時(shí)新一層的鏡像只有一項(xiàng)內(nèi)容,即根目錄下的run.sh.

VOLUME /data:設(shè)定鏡像的VOLUME,此VOLUME在容器內(nèi)部的路徑為/data。需要注意的是,此時(shí)并未在新一層的鏡像中添加任何文件,但更新了鏡像的json文件,以便通過此鏡像啟動容器時(shí)獲取這方面的信息。

CMD ["./run.sh"]:設(shè)置鏡像的默認(rèn)執(zhí)行入口,此命令同樣不會在新建鏡像中添加任何文件,僅僅在上一層鏡像json文件的基礎(chǔ)上更新新建鏡像的json文件。Docker容器體現(xiàn)

涉及到Docker容器,便是動態(tài)的內(nèi)容,一切似乎都有了生命。上文曾提及,Docker容器的文件系統(tǒng)中不僅包含Docker鏡像。此言不虛,圖中的頂上兩層,就是Docker為Docker容器新建的內(nèi)容,而這兩層恰恰不屬于鏡像范疇。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 青神县| 恩平市| 九寨沟县| 信丰县| 甘谷县| 克山县| 宁蒗| 咸阳市| 宜州市| 赫章县| 黄梅县| 丹寨县| 南安市| 闵行区| 额敏县| 鄂州市| 香港 | 陆丰市| 舒城县| 息烽县| 玉环县| 舟曲县| 洪泽县| 金乡县| 福泉市| 达日县| 南漳县| 南溪县| 寻甸| 淮阳县| 登封市| 灵璧县| 孟连| 五华县| 搜索| 旺苍县| 渝北区| 泾川县| 佛坪县| 黔南| 宁陵县|