docker采用的linux隔离技术,docker容器通过什么隔离

Namespace 技术

Namespace 并不是一个新技术,它是Linux操作系统默认提供的API,包括 PID Namespace、Mount Namespace、IPC Namespace、Network Namespace等等。

以 PID Namespace 为例,它的功能是可以让我们在创建进程的时候,告诉Linux系统,我们要创建的进程需要一个新的独立进程空间,并且这个进程在这个新的进程空间里的PID=1,也就是说,这个进程只看得到这个新进程空间里的东西,看不到外面宿主机环境里的东西,也看不到其它进程(不过这只是一个

另外,Network Namespace 的技术原理也类似,让这个进程只能看到当前Namespace空间里的网络设备,看不到宿主机真实情况。Namespace 技术其实就是修改了应用进程的视觉范围,但应用进程的本质却没有变化。

Cgroups 技术

Cgroup 其功能就是限制进程组所使用的最大资源(这些资源可以是 CPU、内存、磁盘等等)。

Namespace 技术只能改变一下进程组的视觉范围,并不能真实的对资源做出限制。那么为了防止容器(进程)之间互相抢资源,甚至某个容器把宿主机资源全部用完导致其它容器也宕掉的情况发生。因此,必须采用 Cgroup 技术对容器的资源进行限制。

Cgroup 技术也是Linux默认提供的功能,在Linux系统的 /sys/fs/cgroup 下面有一些子目录 cpu、memory等,Cgroup技术提供的功能就是可以基于这些目录实现对这些资源进行限制。Cgroup 对其它内存、磁盘等资源也是采用同样原理做限制。

以上是关于docker容器通过什么隔离的介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值