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