本篇文章為大家展示了Docker和容器鏡像的區(qū)別是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
很多剛剛接觸容器技術(shù)的朋友,不容易弄清楚容器,容器鏡像和Docker這幾個(gè)詞的區(qū)別和聯(lián)系。
我們首先來(lái)看容器和容器鏡像。舉個(gè)例子,執(zhí)行命令行docker search nginx,搜索結(jié)果的一條條記錄就是一個(gè)個(gè)容器鏡像。
所謂鏡像,就是一個(gè)靜態(tài)概念,一個(gè)鏡像由若干只讀層(read-only layer)構(gòu)成。
上圖左邊是Docker鏡像的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),我們能看到多個(gè)只讀層疊加在一起,層與層之間通過(guò)指針關(guān)聯(lián),這些層能夠在運(yùn)行Docker的宿主機(jī)的文件系統(tǒng)上訪問(wèn)到。
Linux的統(tǒng)一文件系統(tǒng)(union file system)技術(shù)將這些疊加的只讀層合并成一個(gè)文件系統(tǒng),該系統(tǒng)為這些只讀層提供了一個(gè)統(tǒng)一的視角,從而為Docker的用戶隱藏了多層的存在。
從Docker用戶的視角出發(fā),一個(gè)Docker鏡像只存在一個(gè)文件系統(tǒng),即上圖右邊所示。
這些文件系統(tǒng)的設(shè)計(jì)是Docker實(shí)現(xiàn)細(xì)節(jié),一般情況下我們不用去深究。但如果您足夠好奇,使用命令sudo tree瀏覽目錄 /var/lib/docker即可:
比如我用命令docker images瀏覽下載到本地的docker鏡像:
其中一個(gè)叫jerry-nginx的鏡像,是一個(gè)web應(yīng)用,它的所有內(nèi)容能在/var/lib/docker目錄下的這個(gè)目錄查到:
講完了容器鏡像,我們?cè)賮?lái)看容器。
容器和容器鏡像一樣,也是若干層的疊加,唯一區(qū)別是所有只讀層的最上面一層,是一層可讀可寫(xiě)層,如上圖綠色圖例所示。
初學(xué)者可以記住這個(gè)簡(jiǎn)單的公式:容器 = 容器鏡像 + 可讀可寫(xiě)層
我們?nèi)绻妹頳ocker ps --all查看本機(jī)所有容器列表,會(huì)發(fā)現(xiàn)有的容器處于運(yùn)行狀態(tài),有的處于退出狀態(tài)。
因此,一個(gè)處于運(yùn)行狀態(tài)的容器(running container)包含一個(gè)可讀寫(xiě)的文件系統(tǒng)加上隔離的進(jìn)程空間。
容器里的進(jìn)程可以對(duì)這個(gè)可讀寫(xiě)文件系統(tǒng)內(nèi)的文件進(jìn)行修改、刪除、創(chuàng)建等操作。
鏡像里每一層其實(shí)都能在docker文件夾的containers子目錄下找到:
上圖每一個(gè)紅色文件夾代表鏡像里的一層,藍(lán)色文件包含了該層運(yùn)行時(shí)的日志文件,或者網(wǎng)絡(luò)相關(guān)配置等。
做個(gè)實(shí)驗(yàn):
ubuntu這個(gè)容器執(zhí)行結(jié)束后,使用find / -name i042416.txt文件,這說(shuō)明docker運(yùn)行時(shí)能對(duì)宿主機(jī)的文件系統(tǒng)進(jìn)行寫(xiě)操作。
下面分析幾個(gè)常用的易混淆的命令。
docker create <image-id>
先看它的幫助文檔:
試著執(zhí)行以下:
產(chǎn)生一個(gè)輸出id:
7ee10851c3f1e53bbd35e5f196f34de560afa1a20d9bf1ced587630dbcda877b
create創(chuàng)建的容器,狀態(tài)變?yōu)閏reated:
docker create命令給通過(guò)命令行傳入的容器鏡像創(chuàng)建了一個(gè)新的可讀可寫(xiě)層,從而生成了一個(gè)新的容器實(shí)例:
然后再執(zhí)行docker start,輸入docker create創(chuàng)建的容器實(shí)例ID,就可以啟動(dòng)這個(gè)容器實(shí)例了。
而docker run其實(shí)就是docker create和docker start這兩個(gè)命令合二為一的版本。
上述內(nèi)容就是Docker和容器鏡像的區(qū)別是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:Docker和容器鏡像的區(qū)別是什么-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article10/ddeggo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、軟件開(kāi)發(fā)、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容