容器的隔离机制

众所周知,容器之间是互相隔离的,容器的隔离机制只要得益于Linux命名空间和Linux控制组(cgroup)。

Linux命名空间使每个进程只能看到他自己的系统视图(如文件、进程、网络接口、主机名等)

Linux控制组限制了进程能使用的资源量(CPU、内存、网络带宽等)

Linux命名空间

默认情况下,每个Linux最初只有一个命名空间。所有系统资源都属于这一个命名空间。但是能创建额外的命名空间,以及在它们之间组织资源。对于一个进程,可以在其中一个命名空间中运行它,当然,该进程只能看到同一个命名空间下的资源。当然,会存在多种类型的多个命名空间,所以一个进程不单单只属于一个命名空间,而是一类命名空间。

空间空间类型

类型用途
Mount隔离mount point
PID隔离进程,不同namespace的进程互不干扰
Network对网络接口进行隔离,每个网络接口都属于一个命名空间,但是可以在命名空间之间进行转移,且每个容器都使用自己的网络命名空间,因此每个容器仅仅稚嫩刚看到属于自己的一组网络接口
ipd隔离进程间的通信
UTS隔离主机名
user隔离用户

cgroup

限制容器能使用的系统资源。cgroup是Linux的一个内核功能,被用来限制一个进程或者一组进程的资源使用。一个进程的资源使用量不能超出被分配的量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值