聊聊docker中容器與鏡像的區(qū)別

什么是鏡像?

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括修武網(wǎng)站建設(shè)、修武網(wǎng)站制作、修武網(wǎng)頁(yè)制作以及修武網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,修武網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到修武省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

鏡像可以看成是由多個(gè)鏡像層疊加起來(lái)的一個(gè)文件系統(tǒng)(通過(guò)UnionFS與AUFS文件聯(lián)合系統(tǒng)實(shí)現(xiàn)),鏡像層也可以簡(jiǎn)單理解為一個(gè)基本的鏡像,而每個(gè)鏡像層之間通過(guò)指針的形式進(jìn)行疊加。

什么是容器?

容器(container)的定義和鏡像(image)幾乎一模一樣,也是一堆層的統(tǒng)一視角,唯一區(qū)別在于容器的最上面那一層是可讀可寫(xiě)的。要點(diǎn):容器 = 鏡像 + 讀寫(xiě)層,并且容器的定義并沒(méi)有提及是否要運(yùn)行容器。

今天拋開(kāi)原理,拋開(kāi)底層。通俗的講解docker中容器與鏡像的區(qū)別。

對(duì)于初學(xué)者來(lái)說(shuō),剛剛接觸docker會(huì)有點(diǎn)迷,特別是鏡像與容器。其實(shí)我們可以理解鏡像與容器為一對(duì)多的關(guān)系。

下圖錯(cuò)誤的示范,為什么是錯(cuò)誤的呢?因?yàn)榭梢酝ㄟ^(guò)一個(gè)鏡像確實(shí)可以啟動(dòng)三個(gè)容器,但是這個(gè)三個(gè)容器的名字不能一樣

正確的示例(有人說(shuō)這和上圖有什么區(qū)別,上圖中是不是名字一樣了 容器=容器=容器 ,這里的名字是 容器a != 容器b != 容器c )

所以我們能通過(guò)一個(gè)鏡像,運(yùn)行出三個(gè)容器,鏡像是別人打包好在鏡像倉(cāng)庫(kù)的,我們?nèi)ハ螺d就好了。但是我們下載鏡像的時(shí)候要帶上版本號(hào)。就像我們下載一個(gè)jdk,官網(wǎng)默認(rèn)是最新版,如果我們要下載舊版,就要進(jìn)到對(duì)應(yīng)的版本里面。

一個(gè)鏡像怎么運(yùn)行為容器呢?比如msql,我們下載一個(gè)mysql鏡像。

docker pull mysql

運(yùn)行鏡像,生成mysql_zhangsan數(shù)據(jù)庫(kù)(專門(mén)給張三用的數(shù)據(jù)庫(kù))

[root@localhost ~]# docker run ‐p 3306:3306 ‐‐name mysql_zhangsan ‐e MYSQL_ROOT_PASSWORD=123456 ‐d mysql ad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434

-p 3306:3306 : 端口映射

--name mysql_zhangsan : 給這個(gè)容器命名為mysql_zhangsan(這個(gè)名字是唯一的,不能重復(fù))

-e MYSQL_ROOT_PASSWORD=123456 : 這個(gè)數(shù)據(jù)庫(kù)登陸的賬號(hào)為ROOT 密碼為123456

-d 是基于我們剛剛拉下拉的鏡像mysql進(jìn)行創(chuàng)建的。

運(yùn)行鏡像,生成mysql_lisi數(shù)據(jù)庫(kù)(專門(mén)給李四用的數(shù)據(jù)庫(kù))

[root@localhost ~]# docker run ‐p 3307:3307 ‐‐name mysql_lisi ‐e MYSQL_ROOT_PASSWORD=123456 ‐d mysql ms10e4bcfdsf0f61cbad43898de71d366117d120dfs9db651844c0e73863b9968

-p 3307:3307 : 端口映射(不能用3306了,因?yàn)?306被張三的數(shù)據(jù)庫(kù)占用了)

--name mysql_lisi : 給這個(gè)容器命名為mysql_lisi(這個(gè)名字是唯一的,不能和上面的mysql_zhangsan重復(fù))

-e MYSQL_ROOT_PASSWORD=123456 : 這個(gè)數(shù)據(jù)庫(kù)登陸的賬號(hào)也為ROOT 密碼也為123456

-d 是基于我們剛剛拉下拉的鏡像mysql進(jìn)行創(chuàng)建的。

到這里,我們成功通過(guò)一個(gè)鏡像,創(chuàng)建了兩個(gè)不同的容器。這樣,我們的電腦上就能運(yùn)行兩個(gè)mysql了。如果我們要再開(kāi)一個(gè)mysql容器,只要端口不同,名稱不同,最后還是基于我們拉的mysql鏡像就可以進(jìn)行創(chuàng)建了。

以上就是聊聊docker中容器與鏡像的區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于docker容器與鏡像的區(qū)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

文章名稱:聊聊docker中容器與鏡像的區(qū)別
轉(zhuǎn)載注明:http://muchs.cn/article38/sjcpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、建站公司網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷推廣、移動(dòng)網(wǎng)站建設(shè)、服務(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)

h5響應(yīng)式網(wǎng)站建設(shè)