Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。
Docker运行的基本流程为:
1. 用户是使用Docker Client与Docker Deamon建立通信,并发送请求给后者;
2.Docker Deamon作为Docker架构中的主体部分,首先提供Docker Server的功能使其可以接受Docker Client的请求;
3.Docker Engine执行Docker内部一系列工作,每一项工作都是以一个Job的形式存在;
4.Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动Graph driver将下载镜像以Graph的形式存储;
5.当需要为Docker创建网络环境时,通过网络管理驱动Network driver创建并配置Docker容器网络环境;
6.当需要限制Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成;
7.Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行操作。