docker核心技术
基本架构
服务端
负责处理来自客户端的请求(创建,运行,分发容器)。
客户端
为用户提供一系列命令,用来和docker服务端交互。
命名空间
命名空间时linux内核为支持容器虚拟化提供出来的一大特性,它实现了容器之间资源的相互隔离。
隔离资源:内存,cpu,网络,存储,文件系统等等。
进程命名空间
同一个进程,在不同的命名空间,进程号不一样。每个命名空间都有一套各自的进程号管理方法。
网络命名空间
实现容器之间网络隔离,通过虚拟网络设备,将不同命名空间的网络设备连接到一起。

IPC命名空间
同一个IPC命名空间的进程可以互相交互,不同的命名空间无法交互。交互方式 还是由linux提供。
挂载命名空间
提供文件目录的隔离。
UTS命名空间
允许每个容器都有独自的域名和主机名。
用户命名空间
每个容器内都有各自的用户和用户组,而非本机用户。
控制组
控制组(CGroups)是lunux提供出来的又一特性,主要是负责共享资源的隔离,控制,审计。
联合文件系统
联合文件系统是一种轻量高性能分层文件系统,它是docker镜像技术的基础,支持将文件系统的修改作为一次提交,通过层层打包和继承来扩展镜像功能。
Last updated
Was this helpful?