从进程角度看docker容器
容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。
对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而 Namespace 技术则是用来修改进程视图的主要方法。
当 Docker 创建一个容器时,它会创建新的六种 namespace 的实例,然后把容器中的所有进程放到这些 namespace 之中,使得Docker 容器中的进程只能看到隔离的系统资源。
Linux Namespace的6大类型
类型 功能说明
- Mount Namespace 提供磁盘挂载点和文件系统的隔离能力
- IPC Namespace 提供进程间通信的隔离能力
- Network Namespace 提供网络隔离能力
- UTS Namespace 提供主机名隔离能力
- PID Namespace 提供进程隔离能力
- User Namespace 提供用户隔离能力
现在学习还不晚;