1.1. 命名空间(Namespaces)
命名空间是Linux内核提供的资源隔离机制,它通过创建多个独立的全局视图,使得在不同命名空间中的进程可以拥有各自独立且互不干扰的系统资源。每个命名空间提供了一种逻辑上的隔离效果,让进程看到的是一个受限或定制化的环境,而非整个系统的全局状态。举个例子,每个组都有自己的独立工作环境和资源,并且同一名称的员工(如同名的法外狂徒“张三”)在不同部门中代表的是完全不同的个体。例如,开发组的张三负责写代码开发功能,而测试组的张三则负责功能测试。
全局视图:在计算机系统中,通常存在一个全局范围内的资源集合,例如所有运行的进程都有唯一的PID(进程ID),所有的网络接口卡都有唯一的设备名称和IP地址等。而通过命名空间,每个被隔离的环境——也即每个容器或特定进程组——看到的是其自身命名空间内的资源列表,对这个环境而言,它是“全局”的,但实际上只是整个宿主机全局资源的一部分。
1.1.1. 以下是常见的几种命名空间类型:
- PID Namespace:为进程分配独立的进程ID空间,使得各命名空间内的进程ID在全局范围内不会