溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

?docker容器對(duì)進(jìn)程的隔離方式

發(fā)布時(shí)間:2021-09-04 16:36:28 來(lái)源:億速云 閱讀:169 作者:chen 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“docker容器對(duì)進(jìn)程的隔離方式”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“docker容器對(duì)進(jìn)程的隔離方式”吧!

docker容器對(duì)進(jìn)程的隔離主要采用2個(gè)技術(shù)點(diǎn)來(lái)實(shí)現(xiàn):Namespace 技術(shù)和Cgroups 技術(shù)。

Namespace 技術(shù)

Namespace 并不是一個(gè)新技術(shù),它是Linux操作系統(tǒng)默認(rèn)提供的API,包括 PID Namespace、Mount Namespace、IPC Namespace、Network Namespace等等。

以 PID Namespace 為例,它的功能是可以讓我們?cè)趧?chuàng)建進(jìn)程的時(shí)候,告訴Linux系統(tǒng),我們要?jiǎng)?chuàng)建的進(jìn)程需要一個(gè)新的獨(dú)立進(jìn)程空間,并且這個(gè)進(jìn)程在這個(gè)新的進(jìn)程空間里的PID=1,也就是說(shuō),這個(gè)進(jìn)程只看得到這個(gè)新進(jìn)程空間里的東西,看不到外面宿主機(jī)環(huán)境里的東西,也看不到其它進(jìn)程(不過(guò)這只是一個(gè)虛擬空間,事實(shí)上這個(gè)進(jìn)程在宿主機(jī)里PID該是什么還是什么,沒(méi)有變化,只不過(guò)在這個(gè)進(jìn)程空間里,該進(jìn)程以為自己的PID=1)。

另外,Network Namespace 的技術(shù)原理也類似,讓這個(gè)進(jìn)程只能看到當(dāng)前Namespace空間里的網(wǎng)絡(luò)設(shè)備,看不到宿主機(jī)真實(shí)情況。Namespace 技術(shù)其實(shí)就是修改了應(yīng)用進(jìn)程的視覺(jué)范圍,但應(yīng)用進(jìn)程的本質(zhì)卻沒(méi)有變化。

Cgroups 技術(shù)

Cgroup 其功能就是限制進(jìn)程組所使用的最大資源(這些資源可以是 CPU、內(nèi)存、磁盤(pán)等等)。

Namespace 技術(shù)只能改變一下進(jìn)程組的視覺(jué)范圍,并不能真實(shí)的對(duì)資源做出限制。那么為了防止容器(進(jìn)程)之間互相搶資源,甚至某個(gè)容器把宿主機(jī)資源全部用完導(dǎo)致其它容器也宕掉的情況發(fā)生。因此,必須采用 Cgroup 技術(shù)對(duì)容器的資源進(jìn)行限制。

Cgroup 技術(shù)也是Linux默認(rèn)提供的功能,在Linux系統(tǒng)的 /sys/fs/cgroup 下面有一些子目錄 cpu、memory等,Cgroup技術(shù)提供的功能就是可以基于這些目錄實(shí)現(xiàn)對(duì)這些資源進(jìn)行限制。Cgroup 對(duì)其它內(nèi)存、磁盤(pán)等資源也是采用同樣原理做限制。

到此,相信大家對(duì)“docker容器對(duì)進(jìn)程的隔離方式”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

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

AI