老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

Dockerfile、Docker鏡像和容器的關(guān)系是什么

這篇文章主要介紹“Dockerfile、Docker鏡像和容器的關(guān)系是什么”,在日常操作中,相信很多人在Dockerfile、Docker鏡像和容器的關(guān)系是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Dockerfile、Docker鏡像和容器的關(guān)系是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

淮南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

Dockerfile、Docker鏡像和Docker容器的關(guān)系

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 體系的基石。

簡單來講,Dockerfile構(gòu)建出Docker鏡像,通過Docker鏡像運(yùn)行Docker容器。

我們可以從Docker容器的角度,來反推三者的關(guān)系。首先可以來看下圖:

我們假設(shè)這個(gè)容器的鏡像通過以下Dockerfile構(gòu)建而得:

FROM ubuntu:14.04  

ADD run.sh /  

VOLUME /data  

CMD ["./run.sh"]

1 Dockerfile與Docker鏡像

首先,我們結(jié)合上圖來看看Dockerfile與Docker鏡像之間的關(guān)系。

FROM ubuntu:14.04:設(shè)置基礎(chǔ)鏡像,此時(shí)會(huì)使用基礎(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í)并未在新一層的鏡像中添加任何文件,即構(gòu)建出的磁層鏡像中文件為空,但更新了鏡像的 json 文件,以便通過此鏡像啟動(dòng)容器時(shí)獲取這方面的信息。

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

因此,通過以上分析,以上的Dockerfile可以構(gòu)建出一個(gè)新的鏡像,包含4個(gè)鏡像層,每一條命令會(huì)和一個(gè)鏡像層對應(yīng),鏡像之間會(huì)存在父子關(guān)系。圖中很清楚的表明了這些關(guān)系。

2 Docker鏡像與Docker容器的關(guān)系

Docker鏡像是Docker容器運(yùn)行的基礎(chǔ),沒有Docker鏡像,就不可能有Docker容器,這也是Docker的設(shè)計(jì)原則之一。

可以理解的是:Docker鏡像畢竟是鏡像,屬于靜態(tài)的內(nèi)容;而Docker容器就不一樣了,容器屬于動(dòng)態(tài)的內(nèi)容。動(dòng)態(tài)的內(nèi)容,大家很容易聯(lián)想到進(jìn)程,內(nèi)存,CPU等之類的東西。的確,Docker容器作為動(dòng)態(tài)的內(nèi)容,都會(huì)包含這些。

為了便于理解,大家可以把Docker容器,理解為一個(gè)或多個(gè)運(yùn)行進(jìn)程,而這些運(yùn)行進(jìn)程將占有相應(yīng)的內(nèi)存,相應(yīng)的CPU計(jì)算資源,相應(yīng)的虛擬網(wǎng)絡(luò)設(shè)備以及相應(yīng)的文件系統(tǒng)資源。而Docker容器所占用的文件系統(tǒng)資源,則通過Docker鏡像的鏡像層文件來提供。

那么作為靜態(tài)的鏡像,如何才有能力轉(zhuǎn)化為一個(gè)動(dòng)態(tài)的Docker容器呢?此時(shí),我們可以想象:第一,轉(zhuǎn)化的依據(jù)是什么;第二,由誰來執(zhí)行這個(gè)轉(zhuǎn)化操作。

其實(shí),轉(zhuǎn)化的依據(jù)是每個(gè)鏡像的json文件,Docker可以通過解析Docker鏡像的json的文件,獲知應(yīng)該在這個(gè)鏡像之上運(yùn)行什么樣的進(jìn)程,應(yīng)該為進(jìn)程配置怎么樣的環(huán)境變量,此時(shí)也就實(shí)現(xiàn)了靜態(tài)向動(dòng)態(tài)的轉(zhuǎn)變。

誰來執(zhí)行這個(gè)轉(zhuǎn)化工作?答案是Docker守護(hù)進(jìn)程。也許大家早就理解這樣一句 話:Docker容器實(shí)質(zhì)上就是一個(gè)或者多個(gè)進(jìn)程,而容器的父進(jìn)程就是Docker守護(hù)進(jìn)程。這樣的,轉(zhuǎn)化工作的執(zhí)行就不難理解了:Docker守護(hù)進(jìn)程 手握Docker鏡像的json文件,為容器配置相應(yīng)的環(huán)境,并真正運(yùn)行Docker鏡像所指定的進(jìn)程,完成Docker容器的真正創(chuàng)建。

Docker容器運(yùn)行起來之后,Docker鏡像json文件就失去作用了。此時(shí)Docker鏡像的絕大部分作用就是:為Docker容器提供一個(gè)文件系統(tǒng)的視角,供容器內(nèi)部的進(jìn)程訪問文件資源。

再次回到上圖,我們再來看看容器和鏡像之間的一些特殊關(guān)系。首先,之前已經(jīng)提及Docker鏡像是分層管理的,管理Docker容器的時(shí)候,Docker鏡像仍然是分層管理的。由于此時(shí)動(dòng)態(tài)的容器中已經(jīng)存在進(jìn)程,進(jìn)程就會(huì)對文件系統(tǒng)視角內(nèi)的文件進(jìn)行讀寫操作,因此,就會(huì)涉及一個(gè)問題:容器是否會(huì)篡改Docker鏡像的內(nèi)容?

答案自然是不會(huì)的。統(tǒng)一來講,正如上圖,所有的Docker鏡像層對于容器來說,都是只讀的,容器對于文件的寫操作絕對不會(huì)作用在鏡像中。

既然如此,實(shí)現(xiàn)的原理就很重要,究其根本:Docker守護(hù)進(jìn)程會(huì)在Docker鏡像的 最上層之上,再添加一個(gè)可讀寫層,容器所有的寫操作都會(huì)作用到這一層中。而如果Docker容器需要寫底層Docker鏡像中的文件,那么此時(shí)就會(huì)涉及一 個(gè)叫Copy-on-Write的機(jī)制,即aufs等聯(lián)合文件系統(tǒng)保證:首先將此文件從Docker鏡像層中拷貝至最上層的可讀寫層,然后容器進(jìn)程再對讀 寫層中的副本進(jìn)行寫操縱。對于容器進(jìn)程來講,它只能看到最上層的文件。

那最后我們再來說說:Docker容器的文件系統(tǒng)視角中,到底是不是存在一些內(nèi)容,不是存儲(chǔ)于Docker鏡像中的?

這次的答案依舊是肯定的。

再次重申一點(diǎn),Docker鏡像中存儲(chǔ)的都是一些靜態(tài)文件。這些文件原則上應(yīng)該和容器具體信息以及主機(jī)信息完全解藕。那么Docker容器中不存在Docker鏡像中的內(nèi)容主要有以下幾點(diǎn):

1./proc以及/sys等虛擬文件系統(tǒng)的內(nèi)容

2.容器的hosts文件,hostname文件以及resolv.conf文件,這些事具體環(huán)境的信息,原則上的確不應(yīng)該被打入鏡像。

3.容器的Volume路徑,這部分的視角來源于從宿主機(jī)上掛載到容器內(nèi)部的路徑

4.部分的設(shè)備文件

到此,關(guān)于“Dockerfile、Docker鏡像和容器的關(guān)系是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


本文標(biāo)題:Dockerfile、Docker鏡像和容器的關(guān)系是什么
標(biāo)題URL:http://www.xueling.net.cn/article/jpiheh.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲综合久久成人A片红豆 超能敢死队2冰封之城在线观看 | 欧美爱爱小视频 | 激情偷乱人伦小说视频在线精 | 日本一区二区三区免费看 | 国产91精品久久久久久久网曝门 | 狠狠色噜噜狠狠狠狠2021 | 年轻的朋友3中文 | 中国毛片大全 | 天天人人| 91久久蜜臀精品的社区功能 | 日韩和的一区二区 | 国产人妖在线播放网址 | 熟睡中被义子侵犯在线播放 | 欧美精品久久久免费观看 | 国产伦精品一区二区三区免费观看 | 国产精品亚洲人在线观看 | 日本乱偷人妻中文字幕在线 | 人人妻人人妻人人片色av | 日日婷婷夜日日天干A片 | 国产精品19p | 亚洲另类伦春色综合图片 | 精东av在线 | 欧美在线日韩在线 | 在线精品国产一区二区三区 | 99精品国产丝袜在线拍国语 | aaaa在线观看 | 永久免费无码网站在线观看 | 国产美女视频一区 | 一区二区国产视频 | 97国产精华最好的产品亚洲 | 四虎国产精品成人免费久久 | 乱人伦中文字幕无码 | 亚洲一区二区三区在线网址 | 国产视频一区二区在线播放 | 亚洲成在人网站av天堂 | 好湿好紧太硬了我太爽了视频 | 激情不卡一区二区三区视频在线 | 免费播放大片免费观看视频 | 97久久精品人人 | 乱人伦人妻中文字幕无码久久网 | 亚洲AV永久无码精品放毛片 |