首先,在了解Docker架构之前,应该了解Docker守护程序。
什么是Docker守护程序?
Docker守护程序在主机操作系统上运行。它负责运行容器来管理码头服务。Docker守护程序与其他守护程序通信。它提供各种Docker对象,如图像、容器、网络和存储。
Docker架构
Docker遵循Client-Server架构,包括三个主要组件,即Docker Client、Docker Host和Docker Registry。
1.Docker客户端
Docker客户端使用命令和REST API与Docker守护程序(服务器)通信。当客户端在docker客户端上运行任何docker命令时,客户端将这些docker命令发送到docker守护程序。Docker守护程序以命令和REST API请求的形式从Docker客户端接收这些命令。
注意:Docker Client能够与多个Docker守护程序通信。
Docker Client使用命令行界面(CLI)运行以下命令-
docker build
docker pull
docker run
2.Docker主机
Docker Host用于提供执行和运行应用程序的环境。它包含docker守护程序、映像、容器、网络和存储。
3.Docker注册表
Docker Registry管理和存储Docker映像。
Docker中有两种类型的注册表-
公共注册-公共注册也称为Docker中心。
私有注册表-用于在企业内共享映像。
Docker对象
有以下Docker对象-
1.Docker图像
Docker映像是用于创建Docker容器的只读二进制模板。它使用私有容器注册中心来共享企业内的容器映像,还使用公共容器注册中心在整个世界内共享容器映像。摘要图像也使用元数据来描述容器的功能。
2.Docker容器
容器是Docker的结构单元,用于保存运行应用程序所需的整个包。容器的优点是它需要的资源非常少。
换句话说,我们可以说图像是模板,容器是该模板的副本。
3.Docker网络
使用Docker Networking,可以通信隔离的包。Docker包含以下网络驱动程序-
纽带:纽带是容器的默认网络驱动程序。当多个docker与同一docker主机通信时使用。
主机:当我们不需要容器和主机之间的网络隔离时,需要使用它。
NONE:它禁用所有网络。
Overlay:Overlay提供Swarm服务以相互通信。它允许容器在不同的docker主机上运行。
Macvlan:当我们想要将MAC地址分配给容器时,使用Macvlan。
4.Docker存储
Docker Storage用于在容器上存储数据。Docker为存储提供了以下选项-
数据卷:数据卷提供了创建持久性存储的能力。它还允许我们命名卷、列出卷和与卷关联的容器。
目录装载:它是docker存储的最佳选项之一。它将主机的目录装载到容器中。
存储插件:它提供了连接到外部存储平台的能力。
有关Docker体系架构的更多详细信息可以参考中培IT学院虚拟化容器技术Docker+K8s培训课程。本套课程从Docker的技术背景介绍,再到Docker+K8s技术的高级应用实战,全方位的介绍了Docker技术以及虚拟化云平台技术Kubernetes的体系结构、特性以及部署集成等相关知识。让学员全面系统的掌握Docker+K8s,并且具备部署企业私有虚拟化云平台环境的能力。