Docker是一个容器化平台,它将应用程序及其依赖项打包在一个容器中,以便应用程序可以在任何环境中无缝工作,无论是开发、试运行还是生产环境。那么Docker的核心组件有哪些?下面一起来了解下。
Docker架构的简单示意图
Docker中的主要组件是Docker引擎(Docker Engine)和Docker客户端(Docker Client)。引擎是执行实际工作的进程或应用程序,而客户端则用于与引擎通信。
Docker Engine
Docker Engine是整个Docker系统的核心部分,它使用的是客户端/服务器体系结构,安装在主机上。Docker Engine有三个组件:
Docker Client
Docker用户可以通过客户端与Docker交互。当任何docker命令运行时,客户端将它们发送到dockerd守护进程,由它执行这些命令。Docker API由Docker命令使用,Docker Client可以与多个守护进程通信。
Docker Registries
这是存储Docker图像的位置,它可以是公共docker注册表或私有docker注册表。Docker Hub是docker images的默认位置,您也可以创建和运行自己的私人登记处。
当您执行docker pull或docker run命令时,所需的docker映像将从已配置的注册表中提取。当您执行docker推送命令时,docker映像存储在已配置的注册表中。
Docker Objects
Docker Objects主要包括image、container、volumes和networks等。其中,docker image的特性如下:
另外,docker container的特性如下:
Kubernetes和Docker结合使用。Docker为打包和分发容器化应用程序提供了一个开放标准。使用 Docker,可生成和运行容器,以及存储和共享容器映像。Kubernetes协调和管理Docker创建的分布式容器化应用程序,它还提供了在一组计算机上部署和运行这些应用程序所需的基础结构。