docker核心技术

基本架构

c/s架构
C/S架构

服务端

负责处理来自客户端的请求(创建,运行,分发容器)。

客户端

为用户提供一系列命令,用来和docker服务端交互。

命名空间

命名空间时linux内核为支持容器虚拟化提供出来的一大特性,它实现了容器之间资源的相互隔离。

隔离资源:内存,cpu,网络,存储,文件系统等等。

进程命名空间

同一个进程,在不同的命名空间,进程号不一样。每个命名空间都有一套各自的进程号管理方法。

网络命名空间

实现容器之间网络隔离,通过虚拟网络设备,将不同命名空间的网络设备连接到一起。

IPC命名空间

同一个IPC命名空间的进程可以互相交互,不同的命名空间无法交互。交互方式 还是由linux提供。

挂载命名空间

提供文件目录的隔离。

UTS命名空间

允许每个容器都有独自的域名和主机名。

用户命名空间

每个容器内都有各自的用户和用户组,而非本机用户。

控制组

控制组(CGroups)是lunux提供出来的又一特性,主要是负责共享资源的隔离,控制,审计。

联合文件系统

联合文件系统是一种轻量高性能分层文件系统,它是docker镜像技术的基础,支持将文件系统的修改作为一次提交,通过层层打包和继承来扩展镜像功能。

Last updated

Was this helpful?