Docker 容器资源隔离 namespace(十)
一、简介 Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。不知道你是否还记得很早以前的 Unix 有一个叫 chroot 的系统调用(通过修改根目录把用户 jail 到一个特定目录下),chroot 提供了一种简单的隔离模式:chroot 内部的文件系统无法访问外部的内容。Linux Namespace 在此基础上,提供了对 UTS、IPC、mount、PID、network、User 等的隔离机制。 举个例子,我们都知道,Linux 下的超级父亲进程的PID是1,所以,同 chroot 一样,如果我们可以把用户的进程空间 jail 到某个进程分支下,并像 chroot 那样让其下面的进程 看到的那个超级父进程的 PID 为1,于是就可以达到资源隔离的效果了(不同的 PID namespace 中的进程无法看到彼此) Linux Namespace的6大类型 类型 功能说明 Mount Namespace 提供磁盘挂载点和文件系统的隔离能力 IPC Namespace 提供进程间通信的隔离能力 Network Namespace 提供网络隔离能力 UTS Namespace 提供主机名隔离能力 PID Namespace 提供进程隔离能力 User Namespace 提供用户隔离能力 二、Mount Namespace Mount