docker namespace

Docker容器本質(zhì)上是宿主機(jī)的進(jìn)程繁调,Docker通過namespace實(shí)現(xiàn)了資源隔離,通過cgroups實(shí)現(xiàn)了資源限制,通過寫時復(fù)制機(jī)制(copy-on-write)實(shí)現(xiàn)了高效的文件操作

六種namespace
六種隔離類型
  1. MNT Namespace

mount namespace 是用來隔離各個進(jìn)程看到的掛載點(diǎn)視圖。在不同namespace中的進(jìn)程看到的文件系統(tǒng)層次是不一樣的。在mount namespace 中調(diào)用mount()和umount()僅僅只會影響當(dāng)前namespace內(nèi)的文件系統(tǒng)乞巧,而對全局的文件系統(tǒng)是沒有影響的。
看到這里摊鸡,也許就會想到chroot()绽媒。它也是將某一個子目錄變成根節(jié)點(diǎn)蚕冬。但是mount namespace不僅能實(shí)現(xiàn)這個功能,而且能以更加靈活和安全的方式實(shí)現(xiàn)是辕。

  1. IPC Namespace

進(jìn)程間通信(Inter-Process Communication囤热,IPC)涉及的IPC資源包括常見的信號量、消息隊(duì)列和共享內(nèi)存获三。申請IPC資源就申請了一個全局唯一的32位ID旁蔼,所以IPC namespace中實(shí)際上包含了系統(tǒng)IPC標(biāo)識符以及實(shí)現(xiàn)POSIX消息隊(duì)列的文件系統(tǒng)。在同一個IPC namespace下的進(jìn)程彼此可見疙教,不同IPC namespace下的進(jìn)程則互相不可見棺聊。
目前使用IPC namespace機(jī)制的系統(tǒng)不多,其中比較有名的有PostgreSQL贞谓。Docker當(dāng)前也使用IPC namespace實(shí)現(xiàn)了容器與宿主機(jī)限佩、容器與容器之間的IPC隔離。

  1. UTS Namespace

UTS namespace 主要隔離nodename(主機(jī)名) 和domainname(域名) 兩個系統(tǒng)標(biāo)識经宏。在UTS namespace里面犀暑,每個 namespace 允許有自己的hostname驯击。

  1. PID Namespace
    PS:在容器中默認(rèn)不能使用systemd作為PID為1的守護(hù)進(jìn)程烁兰,因?yàn)槿萜髦袥]有內(nèi)核

(1)每個PID namespace中的第一個進(jìn)程“PID 1”,都會像全通Linux中的init進(jìn)程一樣擁有特權(quán)徊都,其特殊作用沪斟。
(2)一個namespace中的進(jìn)程,不可能通過kill或ptrace影響父節(jié)點(diǎn)或者兄弟節(jié)點(diǎn)中的進(jìn)程暇矫,因?yàn)槠渌麕c(diǎn)的PID在這個namespace沒有任何意義主之。
(3)如果你在新的PID namespace中重新掛載/proc文件系統(tǒng),會發(fā)現(xiàn)其下只顯示同屬一個PID namespace中的其他進(jìn)程李根。
(4)在root namespace中看到所有的進(jìn)程槽奕,并且遞歸包含所有子節(jié)點(diǎn)中的進(jìn)程。也可以在Docker外部監(jiān)控運(yùn)行程序房轿,就是監(jiān)控Docker daemon所在的PID namespace下的所有進(jìn)程及子進(jìn)程粤攒,在進(jìn)行篩選即可。
dockerd:被client直接訪問囱持,其父進(jìn)程為宿主機(jī)的systemd守護(hù)進(jìn)程
docker-proxy:實(shí)現(xiàn)容器通信夯接,其父進(jìn)程為dockerd
containerd:被dockerd進(jìn)程調(diào)用以實(shí)現(xiàn)與runc交互

containerd-shim:真正運(yùn)行容器的載體,其父進(jìn)程為containerd

宿主機(jī)與容器的進(jìn)程關(guān)系
  1. Net Namespace

Network namespace 是用來隔離網(wǎng)絡(luò)設(shè)備纷妆,IP地址端口等網(wǎng)絡(luò)棧的namespace盔几。Network namespace 可以讓每個容器擁有自己獨(dú)立的網(wǎng)絡(luò)設(shè)備(虛擬的),而且容器內(nèi)的應(yīng)用可以綁定到自己的端口掩幢,每個 namesapce 內(nèi)的端口都不會互相沖突逊拍。在宿主機(jī)上搭建網(wǎng)橋后上鞠,就能很方便的實(shí)現(xiàn)容器之間的通信,而且每個容器內(nèi)的應(yīng)用都可以使用相同的端口顺献。
安裝bridge-utils旗国,查看網(wǎng)橋:brctl show


容器與宿主機(jī)網(wǎng)絡(luò)環(huán)境
  1. User Namespace

User namespace 主要是隔離用戶的用戶組ID。也就是說注整,一個進(jìn)程的User ID 和Group ID 在User namespace 內(nèi)外可以是不同的能曾。比較常用的是,在宿主機(jī)上以一個非root用戶運(yùn)行創(chuàng)建一個User namespace肿轨,然后在User namespace里面卻映射成root 用戶寿冕。這樣意味著,這個進(jìn)程在User namespace里面有root權(quán)限椒袍,但是在User namespace外面卻沒有root的權(quán)限驼唱。從Linux kernel 3.8開始,非root進(jìn)程也可以創(chuàng)建User namespace ,并且此進(jìn)程在namespace里面可以被映射成 root并且在 namespace內(nèi)有root權(quán)限驹暑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末玫恳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子优俘,更是在濱河造成了極大的恐慌京办,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帆焕,死亡現(xiàn)場離奇詭異惭婿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叶雹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門财饥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人折晦,你說我怎么就攤上這事钥星。” “怎么了满着?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵谦炒,是天一觀的道長。 經(jīng)常有香客問我漓滔,道長编饺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任响驴,我火速辦了婚禮透且,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己秽誊,他們只是感情好鲸沮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锅论,像睡著了一般讼溺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上最易,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天怒坯,我揣著相機(jī)與錄音,去河邊找鬼藻懒。 笑死剔猿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嬉荆。 我是一名探鬼主播归敬,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鄙早!你這毒婦竟也來了汪茧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤限番,失蹤者是張志新(化名)和其女友劉穎舱污,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扳缕,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慌闭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年别威,在試婚紗的時候發(fā)現(xiàn)自己被綠了躯舔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡省古,死狀恐怖粥庄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豺妓,我是刑警寧澤惜互,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站琳拭,受9級特大地震影響训堆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜白嘁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一坑鱼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦鲁沥、人聲如沸呼股。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彭谁。三九已至,卻和暖如春允扇,著一層夾襖步出監(jiān)牢的瞬間缠局,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工考润, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甩鳄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓额划,卻偏偏與公主長得像妙啃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俊戳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

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