Docker是一個容器化平臺,它將應用程序及其依賴項打包在一個容器中,以便應用程序可以在任何環(huán)境中無縫工作,無論是開發(fā)、試運行還是生產環(huán)境。那么Docker的核心組件有哪些?下面一起來了解下。
Docker架構的簡單示意圖
Docker中的主要組件是Docker引擎(Docker Engine)和Docker客戶端(Docker Client)。引擎是執(zhí)行實際工作的進程或應用程序,而客戶端則用于與引擎通信。
Docker Engine
Docker Engine是整個Docker系統(tǒng)的核心部分,它使用的是客戶端/服務器體系結構,安裝在主機上。Docker Engine有三個組件:
Docker Client
Docker用戶可以通過客戶端與Docker交互。當任何docker命令運行時,客戶端將它們發(fā)送到dockerd守護進程,由它執(zhí)行這些命令。Docker API由Docker命令使用,Docker Client可以與多個守護進程通信。
Docker Registries
這是存儲Docker圖像的位置,它可以是公共docker注冊表或私有docker注冊表。Docker Hub是docker images的默認位置,您也可以創(chuàng)建和運行自己的私人登記處。
當您執(zhí)行docker pull或docker run命令時,所需的docker映像將從已配置的注冊表中提取。當您執(zhí)行docker推送命令時,docker映像存儲在已配置的注冊表中。
Docker Objects
Docker Objects主要包括image、container、volumes和networks等。其中,docker image的特性如下:
另外,docker container的特性如下:
Kubernetes和Docker結合使用。Docker為打包和分發(fā)容器化應用程序提供了一個開放標準。使用 Docker,可生成和運行容器,以及存儲和共享容器映像。Kubernetes協(xié)調和管理Docker創(chuàng)建的分布式容器化應用程序,它還提供了在一組計算機上部署和運行這些應用程序所需的基礎結構。