📜  Docker体系结构

📅  最后修改于: 2020-12-31 14:28:40             🧑  作者: Mango

Docker架构

在学习Docker架构之前,首先,您应该了解Docker Daemon。

什么是Docker守护程序?

Docker守护程序在主机操作系统上运行。它负责运行容器来管理docker服务。 Docker守护程序与其他守护程序进行通信。它提供了各种Docker对象,例如图像,容器,网络和存储。 s

Docker架构

Docker遵循Client-Server体系结构,其中包括Docker ClientDocker HostDocker Registry的三个主要组件。

1. Docker客户端

Docker客户端使用命令REST API与Docker Daemon(Server)进行通信。当客户端在docker客户端上运行任何docker命令时,客户端会将这些docker命令发送到Docker守护程序。 Docker守护程序以命令和REST API请求的形式从Docker客户端接收这些命令。

注意:Docker Client可以与多个Docker守护程序进行通信。

Docker客户端使用命令行界面(CLI)运行以下命令-

码头工人

码头工人拉

泊坞窗运行

2. Docker主机

Docker Host用于提供执行和运行应用程序的环境。它包含docker守护程序,映像,容器,网络和存储。

3. Docker注册表

Docker Registry管理和存储Docker映像。

Docker中有两种类型的注册表-

公共注册表-公共注册表也称为Docker Hub

专用注册表-用于在企业内部共享映像。

Docker对象

有以下Docker对象-

Docker映像

Docker映像是用于创建Docker容器的只读二进制模板。它使用私有容器注册表在企业内共享容器映像,还使用公共容器注册表在整个世界内共享容器映像。案卷图像还使用元数据来描述容器的功能。

Docker容器

容器是Docker的结构单元,用于容纳运行应用程序所需的整个软件包。容器的优点是它需要的资源非常少。

换句话说,我们可以说图像是模板,容器是该模板的副本。

Docker网络

使用Docker Networking,可以传达隔离的软件包。 Docker包含以下网络驱动程序-

  • 网桥-网桥是容器的默认网络驱动程序。当多个docker与同一个docker主机通信时使用。
  • 主机-当我们不需要容器与主机之间的网络隔离时使用。
  • 无-禁用所有联网。
  • 叠加-叠加提供Swarm服务以相互通信。它使容器能够在其他Docker主机上运行。
  • Macvlan-当我们要为容器分配MAC地址时使用Macvlan。

Docker存储

Docker Storage用于在容器上存储数据。 Docker为存储提供了以下选项-

  • 数据卷-数据卷提供了创建持久性存储的功能。它还允许我们命名卷,列出卷以及与这些卷关联的容器。
  • 目录挂载-这是docker存储的最佳选择之一。它将主机的目录装载到容器中。
  • 存储插件-它提供了连接到外部存储平台的能力。