目录
一、命名空间简介
在传统的LIinux系统上,系统资源都是全局的,比如pid、文件、网络等,为了支持容器虚拟化,Linux内核有NameSpace机制,它可以把一组进程的资源隔离起来,比如使用将进程自己的文件映射到特定目录下,不与其他命名空间下的进程共享。
二、命名空间分类
Linux的NameSpace主要分为以下几种:
1、IPC:从2.6.19内核开始,IPC NameSpace用于隔离进程间通讯所需的资源,PID命名空间和IPC命名空间可以组合起来用,只有同一个IPC NameSpace内的进程才进行交互,不同空间进程无法交互;
2、Network:从2.6.24内核开始,Network Namespace为进程提供了一个完全独立的网络协议栈的视图。包括网络设备接口,IPv4和IPv6协议栈,IP路由表,防火墙规则,sockets等等。一个Network Namespace提供了一份独立的网络环境,就跟一个独立的系统一样。
3、Mount:从2.4.19内核开始,每个进程都存在于一个mount Namespace里面,mount Namespace为进程提供了一个文件层次视图。如果不设定这个flag,子进程和父进程将共享一个mount Namespace,其后子进程调用mount或umount将会影响到所有该N