从进程角度看docker容器

容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。

对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而 Namespace 技术则是用来修改进程视图的主要方法。

当 Docker 创建一个容器时,它会创建新的六种 namespace 的实例,然后把容器中的所有进程放到这些 namespace 之中,使得Docker 容器中的进程只能看到隔离的系统资源。

Linux Namespace的6大类型

类型 功能说明

  1. Mount Namespace 提供磁盘挂载点和文件系统的隔离能力
  2. IPC Namespace 提供进程间通信的隔离能力
  3. Network Namespace 提供网络隔离能力
  4. UTS Namespace 提供主机名隔离能力
  5. PID Namespace 提供进程隔离能力
  6. User Namespace 提供用户隔离能力
posted @ 2020-02-04 22:13  ainimore  阅读(285)  评论(0编辑  收藏  举报