Docker依赖的Linux内核特性
Namespaces 命名空间
使用了5种命名空间
PID(Process ID) 进程隔离
NET(Network) 管理网络接口
IPC(InterProcess Communication) 管理跨进程通信的访问
MNT(Mount) 管理挂载点
UTS(Unix Timesharing System) 隔离内核和版本标识
Control Group(cgroup) 控制组
用于分配资源
功能: 资源限制
优先级设定
资源计量
资源控制
这两个特性给予Docker容器的能力:
文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和IP地址都是分来的
资源隔离和分组:使用cgroup将CPU和内存之类的资源独立分配给每个Docker容器