术语
- 容器
容器是基于特定容器映像的正在运行的实例。每个容器都可通过唯一的容器 ID 来识别。
- 控制组
控制组(也称为
cgroup
)是一项 Linux 内核功能,可用于将任务(进程)及其所有子项聚合或划分成分层组织的组,以管理其资源限制。- Docker 开源引擎
Docker 开源引擎是一种服务器-客户端类型的应用程序,用于执行与容器相关的所有任务。Docker 开源引擎由以下组件构成:
守护程序:. Docker 开源引擎的服务器端,负责管理所有 Docker 对象(映像、容器、容器使用的网络连接等)。
REST API:. 应用程序可以使用此 API 来直接与守护程序通讯。
CLI 客户端:. 可让您与守护程序通讯。如果守护程序与 CLI 客户端在不同的计算机上运行,CLI 客户端可以使用 Docker 开源引擎提供的网络套接字或 REST API 进行通讯。
- Dockerfile
Dockerfile 提供有关如何构建容器映像的指令。Docker 开源引擎会读取 Dockerfile 中的指令,并根据这些指令构建新映像。
- 映像
映像是用于创建容器的只读模板。Docker 映像由一系列相互叠加构建的层组成。每个层对应于一项永久性更改,例如,应用程序的一项更新。更改储存在称作 Dockerfile 的文件中。有关更多细节,请参见官方 Docker 文档。
- 容器映像
容器映像是一个不可更改的静态文件,它包含可执行代码,因此可以在 IT 基础结构上运行独立的进程。映像由系统库、系统工具以及在容器化平台上运行程序所需的其他平台设置组成。容器映像通过在父映像或基本映像上构建的文件系统层进行编译。
- 基本映像
基本映像是没有父映像的映像。在 Dockerfile 中,基本映像由
FROM scratch
指令进行识别。- 父映像
充当其他容器映像基础的映像。换言之,如果某个映像不是基本映像,则它派生自父映像。在 Dockerfile 中,
FROM
指令指向父映像。大多数 Docker 容器都是使用父映像创建的。- 名称空间
Docker 开源引擎为其容器使用 Linux 名称空间,这样可以隔离为特定容器保留的资源。
- 工作调度
在生产环境中,您通常需要使用每个集群节点上有许多容器的群集。容器必须相互协作,因而您需要通过一个框架来自动管理容器。自动管理容器的行为称为容器编制,通常由 Kubernetes 处理。
- 注册表
注册表是已创建映像的储存区。它通常包含多个软件源。注册表有两种类型:
公共注册表:任何用户(通常是已注册的用户)都可以下载和使用映像。公共注册表的典型示例是 Docker Hub。
专用注册表:仅限特定用户访问,或者从特定专用网络访问。
- 软件源
软件源是注册表中的映像的储存区。