容器实现核心技术: Namespace
- 在容器化中,一台物理机可以运行多个不同操作系统,那需要解决“隔离性”,彼此感知不到对方存在,有问题互不影响。
- Linux 内核从 2.4.19 版本开始引入 namespace 概念,其目的是将特定的全局系统资源通过抽象方法使得 namespace 种进程看起来拥有自己隔离的资源。Docker 就是借助这个机制实现了容器资源隔离。
Linux 的 Namespace 机制提供了 6 种不同的命名空间:
| Namespace | 描述 |
|---|---|
| IPC | 隔离进程间通信。 |
| MOUNT | 隔离文件系统挂载点。 |
| NET | 隔离网络协议栈。 |
| PID | 隔离进程号,进程命名空间是一个父子结构,子空间对父空间可见。 |
| USER | 隔离用户。 |
| UTS | 隔离主机名或域名。 |
剑鸣秋朔