共计 427 个字符,预计需要花费 2 分钟才能阅读完成。
docker 依赖于 Linux 的二个特性:命名空间(namespace)和控制组(cgroups)
命名空间(namespace):实现系统资源的隔离,如进程,网络,文件系统等,实现轻量级的虚拟化服务,也就是容器。
PID(Process ID ) 进程隔离 NET(network)管理网络接口 IPC (InterProcess Communication) 管理跨进程通信的访问 MNT(mount)管理挂载点 UTS (UNIX Timesharing System) 隔离内核和版本号
控制组:资源限定 控制内存使用上线优先级设定 控制哪些资源可以优先使用内存等资源计量:统计进程组使用的系统资源资源控制:资源挂起或恢复
docker 容器的文件系统隔离,使得每个系统都有自己的 root 文件系统。进程隔离,使得每个每个容器都运行在自己的环境中,互不干扰。网络隔离,容器间的虚拟网络接口和 IP 都是分开的。资源隔离和分组,使用 cgroups 将 CPU 和内存之类的独立分配给每个 docker 容器。
正文完