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

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

Docker 鏡像和容器的區(qū)別詳解

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

 最近學(xué)習(xí)Docker,被Docker 的鏡像和容器搞的暈頭轉(zhuǎn)向,索性上網(wǎng)查找相關(guān)資料并整理下徹底的理解這塊內(nèi)容,有需要的小伙伴可以看下,少走點彎路。

Docker的鏡像和容器的區(qū)別        

一、Docker鏡像

要理解Docker鏡像和Docker容器之間的區(qū)別,確實不容易。

假設(shè)Linux內(nèi)核是第0層,那么無論怎么運行Docker,它都是運行于內(nèi)核層之上的。這個Docker鏡像,是一個只讀的鏡像,位于第1層,它不能被修改或不能保存狀態(tài)。

一個Docker鏡像可以構(gòu)建于另一個Docker鏡像之上,這種層疊關(guān)系可以是多層的。第1層的鏡像層我們稱之為基礎(chǔ)鏡像(Base Image),其他層的鏡像(除了最頂層)我們稱之為父層鏡像(Parent Image)。這些鏡像繼承了他們的父層鏡像的所有屬性和設(shè)置,并在Dockerfile中添加了自己的配置。

Docker鏡像通過鏡像ID進行識別。鏡像ID是一個64字符的十六進制的字符串。但是當(dāng)我們運行鏡像時,通常我們不會使用鏡像ID來引用鏡像,而是使用鏡像名來引用。要列出本地所有有效的鏡像,可以使用命令

# docker images

鏡像可以發(fā)布為不同的版本,這種機制我們稱之為標簽(Tag)。

如上圖所示,neo4j鏡像有兩個版本:lastest版本和2.1.5版本。

可以使用pull命令加上指定的標簽:

# docker pull ubuntu:14.04

# docker pull ubuntu:12.04

二、Docker容器

Docker容器可以使用命令創(chuàng)建:

# docker run imagename

它會在所有的鏡像層之上增加一個可寫層。這個可寫層有運行在CPU上的進程,而且有兩個不同的狀態(tài):運行態(tài)(Running)和退出態(tài)(Exited)。這就是Docker容器。當(dāng)我們使用docker run啟動容器,Docker容器就進入運行態(tài),當(dāng)我們停止Docker容器時,它就進入退出態(tài)。

當(dāng)我們有一個正在運行的Docker容器時,從運行態(tài)到停止態(tài),我們對它所做的一切變更都會永久地寫到容器的文件系統(tǒng)中。要切記,對容器的變更是寫入到容器的文件系統(tǒng)的,而不是寫入到Docker鏡像中的。

我們可以用同一個鏡像啟動多個Docker容器,這些容器啟動后都是活動的,彼此還是相互隔離的。我們對其中一個容器所做的變更只會局限于那個容器本身。

如果對容器的底層鏡像進行修改,那么當(dāng)前正在運行的容器是不受影響的,不會發(fā)生自動更新現(xiàn)象。

如果想更新容器到其鏡像的新版本,那么必須當(dāng)心,確保我們是以正確的方式構(gòu)建了數(shù)據(jù)結(jié)構(gòu),否則我們可能會導(dǎo)致?lián)p失容器中所有數(shù)據(jù)的后果。

64字符的十六進制的字符串來定義容器ID,它是容器的唯一標識符。容器之間的交互是依靠容器ID識別的,由于容器ID的字符太長,我們通常只需鍵入容器ID的前4個字符即可。當(dāng)然,我們還可以使用容器名,但顯然用4字符的容器ID更為簡便。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 海安县| 四会市| 吴忠市| 南江县| 宁化县| 措美县| 南靖县| 文昌市| 德昌县| 巴塘县| 堆龙德庆县| 泰宁县| 武宁县| 瓦房店市| 阿城市| 永吉县| 于都县| 黎城县| 永顺县| 肇源县| 建湖县| 肃宁县| 襄汾县| 油尖旺区| 宜州市| 迁安市| 鹤壁市| 通道| 苏尼特右旗| 樟树市| 宁德市| 乐山市| 延安市| 巍山| 托里县| 南充市| 乌鲁木齐市| 洛南县| 吴江市| 开平市| 广丰县|