容器虚拟化实现的原理

要想实现容器虚拟化,跟传统的虚拟机虚拟化有着本质的区别,容器虚拟化,需要进行以下六种资源的隔离,而这些隔离需要linux系统内核来支持,

下面简单整理了需要被隔离的资源及内核支持的情况

Linux Namespaces来实现:

1、主机名和域名

简称:UTS  

内核版本:2.6.19

系统调用参数:CLONE_NEWUTS

2、信号量、消息队列和共享内存

简称:IPC-进程间通讯

内核版本:2.6.19

系统调用参数:CLONE_NEWIPC

3、进程编号

简称:PID

内核版本:2.6.24

系统调用参数:CLONE_NEWPID

4、网络设备、网络栈和端口等

简称:NETWORK

内核版本:2.6.29

系统调用参数:CLONE_NEWNET

5、挂载点(文件系统)

简称:MOUNT

内核版本:2.4.19

系统调用参数:CLONE_NEWNS

6、用户

简称:USER

内核版本:3.8

系统调用参数:CLONE_NEWUSER

posted @ 2018-12-06 09:11  slim_liu  阅读(626)  评论(0编辑  收藏  举报