Namespace
在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这不是我们要的效果,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样。
Linux的命名空间 (namespaces) 可以为我们提供用于隔离进程树、网络接口、挂载点以及进程间通信等资源的方法。
Namespace类型 | 隔离资源 | Kernel版本 |
---|---|---|
IPC | System V IPC 和 POSIX消息队列 | 2.6.19 |
Network | 网络设备、网络协议栈、网络端口等 | 2.6.29 |
PID | 进程 | 2.6.14 |
Mount | 挂载点 | 2.4.19 |
UTS | 主机名和域名 | 2.6.19 |
USR | 用户和用户组 | 3.8 |