溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2021-08-05 20:24:53 來源:億速云 閱讀:422 作者:chen 欄目:web開發(fā)

本篇內(nèi)容主要講解“Docker鏡像和Docker容器的關(guān)系是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker鏡像和Docker容器的關(guān)系是什么”吧!

毫無疑問,Docker成了近些年來火熱,甚至具有顛覆性的技術(shù)之一。國際上,所有泛云計算相關(guān)的公司,幾乎都在某種程度上宣布支持并集成Docker。在2014年6月的DockerCon中,很多公司都分享了他們自己如何和Docker集成的故事。

1.什么是Docker鏡像

A:從整體的角度來講,一個完整的Docker鏡像可以支撐一個Docker容器的運行,在  Docker容器運行過程中主要提供文件系統(tǒng)視角。例如一個ubuntu:14.04的鏡像,提供了一個基本的ubuntu:14.04的發(fā)行版,當然此  鏡像是不包含操作系統(tǒng)Linux內(nèi)核的。

以上內(nèi)容是從宏觀的角度看看Docker鏡像是什么,我們再從微觀的角度進一步深入 Docker鏡像。剛才提到了“Debian鏡像中安裝MySQL  5.6,就成了mysql:5.6鏡像”,其實在此時Docker鏡像的層級概念就體現(xiàn)出來了。底層一個Debian操作系統(tǒng)鏡像,上面疊加一個  mysql層,就完成了一個mysql鏡像的構(gòu)建。層級概念就不難理解,此時我們一般debian操作系統(tǒng)鏡像稱為mysql鏡像層的父鏡像。

Docker有兩方面的技術(shù)非常重要,***是Linux  容器方面的技術(shù),第二是Docker鏡像的技術(shù)。從技術(shù)本身來講,兩者的可復制性很強,不存在絕對的技術(shù)難點,然而Docker  Hub由于存在大量的數(shù)據(jù)的原因,導致Docker Hub的可復制性幾乎不存在,這需要一個生態(tài)的營造。

2.Docker鏡像的內(nèi)容

介紹之前,我先分享一下,我個人在接觸Docker的兩年時間中,對Docker鏡像內(nèi)容認識的變化。

***階段:初步接觸Docker。相信很多愛好者都會和我一樣,有這樣一個認識:Docker 鏡像代表一個容器的文件系統(tǒng)內(nèi)容;

第二階段:初步接觸聯(lián)合文件系統(tǒng)。聯(lián)合文件系統(tǒng)的概念,讓我意識到鏡像層級管理的技術(shù),每一層鏡像都是容器文件系統(tǒng)內(nèi)容的一部分。

第三階段:研究鏡像與容器的關(guān)系:容器是一個動態(tài)的環(huán)境,每一層鏡像中的文件屬于靜態(tài)內(nèi) 容,然而 Dockerfile 中的 ENV、VOLUME、CMD  等內(nèi)容最終都需要落實到容器的運行環(huán)境中,而這些內(nèi)容均不可能直接坐落到每一層鏡像所包含的文件系統(tǒng)內(nèi)容中,那此時每一個Docker鏡像還會包含  json文件記錄與容器之間的關(guān)系。

因此,Docker鏡像的內(nèi)容主要包含兩個部分:***,鏡像層文件內(nèi)容;第二,鏡像json文件。

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

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

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

4.為什么一個ubuntu:14.04鏡像的鏡像層的數(shù)量是4個,前三層的內(nèi)容似乎有相同的,如etc?

雖然三層  都有,但是會存在兩種情況,etc的子目錄下有相同路徑的文件,那么上層的會覆蓋下層的文件;如果內(nèi)部的文件路徑不相同,那么都會存在,都會呈現(xiàn)給最上層。

5.如何保證僅有的一個deamon的穩(wěn)定性健壯性?

分布式系統(tǒng)需要大量機器協(xié)作,面臨諸多的挑戰(zhàn):

***,異構(gòu)的機器與網(wǎng)絡:

分布式系統(tǒng)中的機器,配置不一樣,其上運行的服務也可能由不同的語言、架構(gòu)實現(xiàn),因此處理能力也不一樣;節(jié)點間通過網(wǎng)絡連接,而不同網(wǎng)絡運營商提供的網(wǎng)絡的帶寬、延時、丟包率又不一樣。怎么保證大家齊頭并進,共同完成目標,這四個不小的挑戰(zhàn)。

第二,普遍的節(jié)點故障:

雖然單個節(jié)點的故障概率較這個問題首先需要知道docker daemon的穩(wěn)定性在哪些方面,那種場景下比較差?的確,docker  daemon存在弊病。比如,daemon和容器的耦合等,目前general來講,docker daemon保證絕對的穩(wěn)定應該還做不到。

到此,相信大家對“Docker鏡像和Docker容器的關(guān)系是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI