文章目录
一. docker引擎介绍
docker基于OCI的开放标准,引擎采用模块化设计
。
- OCI 规范定义了容器镜像的格式,使得不同的工具和平台能够创建、分享和运行容器镜像而不受限于特定的实现。兼容 OCI 镜像格式的系统可以使用标准化的镜像文件进行容器部署。
- OCI 还定义了容器运行时的规范,确保容器能够在任何支持 OCI 运行时规范的环境中启动和运行。这使得容器的运行不依赖于特定的实现或平台。
Docker引擎的组成
Docker引擎由如下主要的组件构成:Docker客户端(Docker Client)、Docker守护进程(Docker daemon)、containerd以及runc。它们共同负责容器的创建和运行。如下图:
1. Docker daemon:实现Docker API,通过API管理容器
Docker daemon:
- Docker daemon实现了Docker API,Docker API 是 Docker 提供的应用编程接口,允许开发者通过编程方式与 Docker 引擎进行交互。
- Docker daemon中的功能包括但不限于API、镜像管理、身份认证、安全特性、核心网络以及卷。
- daemon使用一种CRUD风格的API,通过gRPC与containerd进行通信。
Docker API 的作用包括:
1. 容器管理
创建和启动容器:通过 API,可以程序化地创建新的容器并启动它们。例如,
通过 POST /containers/create 和 POST /containers/(id or name)/start。
停止和删除容器:可以通过 POST /containers/(id or name)