Docker是如何實現(xiàn)的

概述

Docker 利用容器(Container)來運行應(yīng)用。容器是從鏡像創(chuàng)建的運行實例盛龄。它可以被啟動饰迹、開始、停止余舶、刪除啊鸭。每個容器都是相互隔離的、保證安全的平臺欧芽。
可以把容器看做是一個簡易版的 Linux 環(huán)境(包括root用戶權(quán)限莉掂、進(jìn)程空間葛圃、用戶空間和網(wǎng)絡(luò)空間等)和運行在其中的應(yīng)用程序千扔。通過鏡像運行得到容器后,會在鏡像上添加一層讀寫層库正,所有對于容器的修改都保存在這一層曲楚,所以容器的運行不會修改鏡像,同時保證可以利用同一個鏡像運行多個容器不會相互干擾褥符。


容器

原理

Docker是如何做到把應(yīng)用所有的依賴項全部打包龙誊,將應(yīng)用運行在一個隔離的環(huán)境里面?先來看看一個應(yīng)用運行的整個生命周期的依賴是什么:

  • 文件系統(tǒng)(進(jìn)程的代碼文件喷楣,配置文件趟大,運行中讀寫文件等信息)
  • 權(quán)限(主要由用戶控制進(jìn)程的訪問權(quán)限)
  • 進(jìn)程間通信(進(jìn)程之間的相互數(shù)據(jù)交互,常用信號量铣焊,消息隊列逊朽,共享內(nèi)存等)
  • 網(wǎng)絡(luò)(進(jìn)程通過網(wǎng)絡(luò)進(jìn)行通信)
  • 進(jìn)程樹(進(jìn)程啟動后,會形成進(jìn)程樹)
  • 主機名和域名(進(jìn)程所在機器的主機名)

Linux如何做到以上的所有的資源的隔離曲伊?主要是利用Linux namespaces實現(xiàn)程序的隔離叽讳,包括

  • mount namespace, 實現(xiàn)文件系統(tǒng)隔離
  • user namespace 實現(xiàn)用戶隔離
  • network namespace 實現(xiàn)隔離網(wǎng)絡(luò)設(shè)備坟募、網(wǎng)絡(luò)協(xié)議棧
  • IPC namespace 實現(xiàn)進(jìn)程間交互的隔離
  • pid namespace 實現(xiàn)進(jìn)程樹的隔離
  • uts namespace 實現(xiàn)主機名和域名的隔離
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岛蚤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子懈糯,更是在濱河造成了極大的恐慌涤妒,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赚哗,死亡現(xiàn)場離奇詭異她紫,居然都是意外死亡铁坎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門犁苏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硬萍,“玉大人,你說我怎么就攤上這事围详∑庸裕” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵助赞,是天一觀的道長买羞。 經(jīng)常有香客問我,道長雹食,這世上最難降的妖魔是什么畜普? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮群叶,結(jié)果婚禮上吃挑,老公的妹妹穿的比我還像新娘。我一直安慰自己街立,他們只是感情好舶衬,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赎离,像睡著了一般逛犹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梁剔,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天虽画,我揣著相機與錄音,去河邊找鬼荣病。 笑死码撰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的众雷。 我是一名探鬼主播灸拍,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砾省!你這毒婦竟也來了鸡岗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤编兄,失蹤者是張志新(化名)和其女友劉穎轩性,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狠鸳,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡揣苏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年悯嗓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卸察。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡脯厨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坑质,到底是詐尸還是另有隱情合武,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布涡扼,位于F島的核電站稼跳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吃沪。R本人自食惡果不足惜汤善,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望票彪。 院中可真熱鬧红淡,春花似錦、人聲如沸抹镊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垮耳。三九已至,卻和暖如春遂黍,著一層夾襖步出監(jiān)牢的瞬間终佛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工雾家, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铃彰,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓芯咧,卻偏偏與公主長得像牙捉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子敬飒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 入眠多夢邪铲。凌晨醒來,會想努力記起夢里遇見的人和紛繁的事无拗,但畫面依稀模糊带到。生活仿佛既如此,有所幻滅英染、有所真實揽惹、有所堅...
    開掛的燕子閱讀 194評論 0 1
  • 安穩(wěn)的日子細(xì)數(shù)在指尖搪搏,悄悄地狭握,滑落在雨中,也許是這個季節(jié)疯溺,也許是這種心情哥牍。今春的雨格外頻繁而又清爽。細(xì)密的雨夾雜著...
    干掉這一碗閱讀 480評論 0 6
  • 文 | Sunny陽婧婧 第二章 招聘與配置學(xué)習(xí)筆記 第一節(jié) 員工素質(zhì)測評標(biāo)準(zhǔn)體系的構(gòu)建 一喝检、員工素質(zhì)測評的基本原...
    Sunny陽婧婧閱讀 457評論 0 3
  • 提起杰森斯坦森挠说,腦海中第一浮現(xiàn)的就是穿著一身精致西裝澡谭,開著奧迪車的形象。 沒錯损俭,這就是《非常人販》系列蛙奖。我最喜歡的...
    樂子電影館閱讀 2,487評論 0 2