Docker 系列(三十五):Docker 的基本架构

Docker 采用了 C/S(客户端/服务端)架构,包括客户端和服务端。Docker 守护进程(Daemon)作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。

客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。

Docker 基本架构示意图:左侧的 Docker Client 通过 docker pull、docker run 等命令与右侧 Host 中的 Docker Daemon 双向通信,Host 内运行 Container 1、Container 2、Container 3 等容器,Host 再与底部的 Docker Index(镜像仓库)双向交互

从图中可以看到,Docker 客户端通过 docker pull、docker run 等命令与守护进程交互;守护进程所在的主机上运行着多个相互隔离的容器;镜像的查找与分发则由 Host 与 Docker Index(仓库)之间的通信完成。

Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息。

Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker 守护进程交互。

系列导航


   转载规则


《Docker 系列(三十五):Docker 的基本架构》 由 吴杭沉 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Docker 系列(三十六):Docker 架构详解 Docker 系列(三十六):Docker 架构详解
本文先从 Docker 的前身 LXC 说起,介绍 Docker 的基本概念、与 OpenStack 的对比,然后深入剖析 Docker 架构中各个模块的职责,最后附上一组常用的容器操作命令演示。 Docker 的前身:LXCLXC 为 L
2023-04-18
下一篇 
Docker 系列(三十四):端口映射的实现原理 Docker 系列(三十四):端口映射的实现原理
默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器。 容器访问外部网络的实现容器所有到外部网络的连接,源地址都会被 NAT 成本地系统的 IP 地址,这是使用 iptables 的源地址伪装(MASQUERADE)操作
2023-04-04
  目录