docker依赖的linux内核特性,dockerlinux内核


docker依赖的内核特性


docker依赖于Linux的两个内核特性:

Namespaces:命名空间 Control groups(cgroups):控制组

Namespaces

命名空间提供了一种系统资源的隔离,包括了文件系统、网络、进程等。docker有5种命名空间:

PID:进程隔离 NET:网络管理接口 IPC:管理跨进程通信访问 MNT:管理挂载点 UTS:隔离内核和版本标识

Control groups

这是Linux内核提供的一种可以限制,记录,隔离物理进程组的机制。他提供了以下功能:

资源限制 优先级设定 资源计量 资源控制

docker容器能力


Namespaces和Control groups带给了容器下面的能力:

文件系统的隔离:每个容器都有自己的root文件系统 进程隔离:每个容器都运行在自己的进程环境中 网络隔离:每个容器间虚拟网络接口和ip地址都是分开的 资源隔离和分组:Control groups可以将CPU和内存之类的资源独立分配给每个docker容器

相关内容