成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker內核技術原理之Namespace

開源
Docker的空間隔離使用的是namespace(空間),它是內核提供的一種空間隔離,在一個空間下,每個進程看到的視圖是一致的,相應的如果不在一個空間下看到資源視圖是不一致的,舉個例子,如果兩個進程在同一個網絡命令空間下,那么他們看到的網絡信息(網卡、IP、路由等)是一樣的,可以通過localhost的方式互相訪問。

 [[410507]]

Docker的空間隔離使用的是namespace(空間),它是內核提供的一種空間隔離,在一個空間下,每個進程看到的視圖是一致的,相應的如果不在一個空間下看到資源視圖是不一致的,舉個例子,如果兩個進程在同一個網絡命令空間下,那么他們看到的網絡信息(網卡、IP、路由等)是一樣的,可以通過localhost的方式互相訪問。常用的有6種namespace,在Linux 內核4.6之后又添加了Cgroup這namespace,5.6 之后又添加了時鐘namespace。

Namespace

系統(tǒng)調用參數(shù)

隔離內容

UTS

CLONE_NEWUTS

主機名與域名

IPC

CLONE_NEWIPC

信號量、消息隊列和共享內存

PID

CLONE_NEWPID

進程編號

Network

CLONE_NEWNET

網絡設備、網絡棧、端口等等

Mount

CLONE_NEWNS

掛載點(文件系統(tǒng))

User

CLONE_NEWUSER

用戶和用戶組

Cgroup

CLONE_NEWCGROUP

Cgroup的根目錄

Time

CLONE_NEWTIME

時鐘

這里有個小細節(jié),上面表格創(chuàng)建Mount Namespace的系統(tǒng)調用參數(shù)是CLONE_NEWNS,而不是CLONE_NEWMOUNT。從字面理解是創(chuàng)建一個命名空間的意思,這是由于歷史原因導致的,因為Mount Namespace是第一個namespace,內核的開發(fā)者可能也沒有預料到后續(xù)還有其它的namespace的加入,所以就先把CLONE_NEWNS給占用了。

可見,namespace的隔離其實并不充分,除了上面的隔離能力,其他的都一樣。譬如,時鐘在內核5.6版本之前,所有容器和操作系統(tǒng)都共享同一個時鐘,如果修改了操作系統(tǒng)的時間,所有容器都時間都會變化。

 


 

 

namespace實現(xiàn)原理也非常簡單,每個進程(task_struct)都有一個關于namespace的屬性nsproxy,表示自己所屬的namespace。

struct task_struct { ...

/* namespaces */

struct nsproxy *nsproxy;

...

}

其中的nsproxy就是指向各種namespace的一個代理。如下所示:

 

當新進程被創(chuàng)建后會繼承其父進程的namespace,這就是為啥一個容器里面的所有進程都共享namespace。在Linux集群上面,通過讀取“/proc/進程ID/ns/”下的文件可以獲取到每個進程對應的namespace。

 

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-07-14 10:33:22

Docker內核Mount Names

2018-06-26 08:27:21

DRDS內核 列式存儲

2016-09-20 21:32:16

DockerLinux Names

2016-09-20 22:04:55

Docker Linux Names

2009-03-22 21:29:11

多核技術

2016-06-20 16:10:11

無內核技術Node.js

2023-08-10 14:02:15

2010-04-01 09:29:14

2020-11-17 09:09:55

Unity技術大會

2018-08-27 16:41:07

KPI技術人

2009-08-06 18:12:06

2025-01-02 11:06:22

2017-01-12 19:15:03

Linux內核調試自構proc

2021-02-20 20:51:24

工具內核kprobe

2018-10-08 09:00:58

考核技術人KPI

2019-06-11 09:30:04

PKI密鑰網絡安全

2009-03-22 21:36:34

多核架構質變

2009-03-18 13:10:59

多核服務器MIPS

2019-12-12 10:58:37

Docker容器引擎

2017-03-02 12:39:04

移動端iOS監(jiān)控體系
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99在线资源 | 澳门永久av免费网站 | 欧美一级二级视频 | 国产综合在线视频 | 精品一区二区三区不卡 | 国产一区二区视频在线观看 | 日韩欧美精品 | 国产无套一区二区三区久久 | 99精品一区 | 91精品导航 | 久久久久久久综合 | 国产精品一区二区免费看 | 亚洲人成人一区二区在线观看 | 99久久亚洲 | 国产一级免费视频 | 嫩草视频网 | 精品久久久久久久 | 国产视频一区在线 | 97色在线视频 | 精品日韩一区二区 | 国产美女永久免费无遮挡 | 91偷拍精品一区二区三区 | 国产精品日韩高清伦字幕搜索 | 久久久精品综合 | 99久久99热这里只有精品 | 国产精品久久久av | 成人性视频免费网站 | 久久综合伊人 | 69av在线视频 | 久久99精品久久久久久国产越南 | 狠狠久久久 | 91免费在线| 国产精品久久久久久久岛一牛影视 | 美女黄网站视频免费 | 色视频www在线播放国产人成 | 国产精品不卡 | 亚洲天堂中文字幕 | 精品久久久久久 | 日本超碰| 亚洲欧美激情国产综合久久久 | xxxxxx国产|