最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我想了解一下什么是容器 linux containers?

我想了解一下什么是容器 linux containers?

江戶(hù)川亂折騰 2019-11-19 17:14:51
什么是容器 linux containers
查看完整描述

3 回答

?
蠱毒傳說(shuō)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

Docker是什么? 簡(jiǎn)單得來(lái)說(shuō),Docker是一個(gè)由GO語(yǔ)言寫(xiě)的程序運(yùn)行的“容器”(Linux containers, LXCs); 目前云服務(wù)的基石是操作系統(tǒng)級(jí)別的隔離,在同一臺(tái)物理服務(wù)器上虛擬出多個(gè)主機(jī)。

查看完整回答
反對(duì) 回復(fù) 2019-11-24
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

主機(jī)(host) 。
如今,Docker技術(shù)大行其道,大家在嘗試以及玩轉(zhuǎn)Docker的同時(shí),肯定離不開(kāi)一個(gè)概念,那就是“容器”或者“Docker Container”。那么我們首先從實(shí)現(xiàn)的角度來(lái)看看“容器”或者“Docker Container”到底為何物。

逐漸熟悉Docker之后,大家肯定會(huì)深深得感受到:應(yīng)用程序在Docker Container內(nèi)部的部署與運(yùn)行非常便捷,只要有Dockerfile,應(yīng)用一鍵式的部署運(yùn)行絕對(duì)不是天方夜譚; Docker Container內(nèi)運(yùn)行的應(yīng)用程序可以受到資源的控制與隔離,大大滿(mǎn)足云計(jì)算時(shí)代應(yīng)用的要求。毋庸置疑,Docker的這些特性,傳統(tǒng)模式下應(yīng)用是完全不具備的。然而,這些令人眼前一亮的特性背后,到底是誰(shuí)在“作祟”,到底是誰(shuí)可以支撐Docker的這些特性?不知道這個(gè)時(shí)候,大家是否會(huì)聯(lián)想到強(qiáng)大的Linux內(nèi)核。

其實(shí),這很大一部分功能都需要?dú)w功于Linux內(nèi)核。那我們就從Linux內(nèi)核的角度來(lái)看看Docker到底為何物,先從Docker Container入手。關(guān)于Docker Container,體驗(yàn)過(guò)的開(kāi)發(fā)者第一感覺(jué)肯定有兩點(diǎn):內(nèi)部可以跑應(yīng)用(進(jìn)程),以及提供隔離的環(huán)境。當(dāng)然,后者肯定也是工業(yè)界稱(chēng)之為“容器”的原因之一。

既然Docker Container內(nèi)部可以運(yùn)行進(jìn)程,那么我們先來(lái)看Docker Container與進(jìn)程的關(guān)系,或者容器與進(jìn)程的關(guān)系。首先,我提出這樣一個(gè)問(wèn)題供大家思考“容器是否可以脫離進(jìn)程而存在”。換句話(huà)說(shuō),能否創(chuàng)建一個(gè)容器,而這個(gè)容器內(nèi)部沒(méi)有任何進(jìn)程。

可以說(shuō)答案是否定的。既然答案是否定的,那說(shuō)明不可能先有容器,然后再有進(jìn)程,那么問(wèn)題又來(lái)了,“容器和進(jìn)程是一起誕生,還是先有進(jìn)程再有容器呢?”可以說(shuō)答案是后者。以下將慢慢闡述其中的原因。

闡述問(wèn)題“容器是否可以脫離進(jìn)程而存在”的原因前,相信大家對(duì)于以下的一段話(huà)不會(huì)持有異議:通過(guò)Docker創(chuàng)建出的一個(gè)Docker Container是一個(gè)容器,而這個(gè)容器提供了進(jìn)程組隔離的運(yùn)行環(huán)境。那么問(wèn)題在于,容器到底是通過(guò)何種途徑來(lái)實(shí)現(xiàn)進(jìn)程組運(yùn)行環(huán)境的“隔離”。這時(shí),就輪到Linux內(nèi)核技術(shù)隆重登場(chǎng)了。

說(shuō)到運(yùn)行環(huán)境的“隔離”,相信大家肯定對(duì)Linux的內(nèi)核特性namespace和cgroup不會(huì)陌生。namespace主要負(fù)責(zé)命名空間的隔離,而cgroup主要負(fù)責(zé)資源使用的限制。其實(shí),正是這兩個(gè)神奇的內(nèi)核特性聯(lián)合使用,才保證了Docker Container的“隔離”。那么,namespace和cgroup又和進(jìn)程有什么關(guān)系呢?問(wèn)題的答案可以用以下的次序來(lái)說(shuō)明:

(1) 父進(jìn)程通過(guò)fork創(chuàng)建子進(jìn)程時(shí),使用namespace技術(shù),實(shí)現(xiàn)子進(jìn)程與其他進(jìn)程(包含父進(jìn)程)的命名空間隔離;

(2) 子進(jìn)程創(chuàng)建完畢之后,使用cgroup技術(shù)來(lái)處理子進(jìn)程,實(shí)現(xiàn)進(jìn)程的資源使用限制;

(3) 系統(tǒng)在子進(jìn)程所處namespace內(nèi)部,創(chuàng)建需要的隔離環(huán)境,如隔離的網(wǎng)絡(luò)棧等;

(4) namespace和cgroup兩種技術(shù)都用上之后,進(jìn)程所處的“隔離”環(huán)境才真正建立,這時(shí)“容器”才真正誕生!

從Linux內(nèi)核的角度分析容器的誕生,精簡(jiǎn)的流程即如以上4步,而這4個(gè)步驟也恰好巧妙的闡述了namespace和cgroup這兩種技術(shù)和進(jìn)程的關(guān)系,以及進(jìn)程與容器的關(guān)系。進(jìn)程與容器的關(guān)系,自然是:容器不能脫離進(jìn)程而存在,先有進(jìn)程,后有容器。然而,大家往往會(huì)說(shuō)到“使用Docker創(chuàng)建Docker Container(容器),然后在容器內(nèi)部運(yùn)行進(jìn)程”。對(duì)此,從通俗易懂的角度來(lái)講,這完全可以理解,因?yàn)椤叭萜鳌币辉~的存在,本身就較為抽象。如果需要更為準(zhǔn)確的表述,那么可以是:“使用Docker創(chuàng)建一個(gè)進(jìn)程,為這個(gè)進(jìn)程創(chuàng)建隔離的環(huán)境,這樣的環(huán)境可以稱(chēng)為Docker Container(容器),然后再在容器內(nèi)部運(yùn)行用戶(hù)應(yīng)用進(jìn)程。”當(dāng)然,筆者的本意不是想否定很多人對(duì)于Docker Container或者容器的認(rèn)識(shí),而是希望和讀者一起探討Docker Container底層技術(shù)實(shí)現(xiàn)的原理。



查看完整回答
反對(duì) 回復(fù) 2019-11-24
  • 3 回答
  • 0 關(guān)注
  • 1307 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)