Docker 架构
Docker 架构
在学习Docker架构之前,首先要了解Docker Daemon。
什么是Docker daemon?
Docker 守护进程在主机操作系统上运行。它负责运行容器来管理 docker 服务。 Docker 守护进程与其他守护进程通信。它提供了各种 Docker 对象,例如图像、容器、网络和存储。 s
Docker 架构
Docker 遵循 Client-Server 架构,包括三个主要组件: Docker Client、 Docker Host 和 Docker Registry。
1、 Docker 客户端
Docker 客户端使用命令和REST API与Docker Daemon(服务器)进行通信。当客户端在 docker 客户端上运行任何 docker 命令时,客户端会将这些 docker 命令发送到 Docker 守护进程。 Docker 守护进程以命令和 REST API 的请求的形式从 Docker 客户端接收这些命令。
注意: Docker 客户端具有与多个 docker 守护进程通信的能力。
Docker Client 使用命令行界面(CLI)运行以下命令-
docker build
docker pull
docker 运行
2. Docker Host
Docker Host 用于提供执行和运行应用程序的环境。它包含 docker 守护进程、图像、容器、网络和存储。
3. Docker Registry
Docker Registry 管理和存储Docker 镜像。
Docker 中有两种类型的注册表-
公共注册表- Public Registry 也称为 Docker hub。
Private Registry- 用于在企业内部共享镜像。
Docker 对象
有以下 Docker 对象-
Docker 图像
Docker 图像是 只读二进制模板,用于创建 Docker 容器。它使用私有容器注册表在企业内部共享容器镜像,也使用公共容器注册表在全球共享容器镜像。文档镜像也使用元数据来描述容器的能力。
Docker 容器
容器是 Docker 的结构单元,用于保存整个包这是运行应用程序所需的。容器的优点是它需要的资源非常少。
换句话说,我们可以说图像是一个模板,而容器是该模板的副本。
Docker Networking
使用 Docker Networking,可以通信隔离的包。 Docker 包含以下网络驱动程序-
Bridge- Bridge 是容器的默认网络驱动程序。当多个 docker 与同一个 docker 主机通信时使用它。
Host- 当我们不需要容器和主机之间的网络隔离时使用它。
无- 它会禁用所有网络。
Overlay- Overlay 提供 Swarm 服务来相互通信。它使容器能够在不同的 docker 主机上运行。
Macvlan- Macvlan 用于为容器分配 MAC 地址。
Docker Storage
Docker Storage 用于在容器上存储数据。 Docker 为存储提供以下选项-
数据卷- 数据卷提供了创建持久性存储的能力。它还允许我们命名卷、列出卷以及与卷关联的容器。
目录挂载- 它是 docker 存储的最佳选择之一。它将主机的目录挂载到容器中。
存储插件-它提供了连接到外部存储平台的能力。