容器与Docker简介(三)Docker相关术语——微软微服务电子书翻译系列
本节列出了在更加深入Docker之前应该熟悉的术语和定义。 有关详细的定义,请参阅Docker提供的术语表。
容器镜像(Container image):具有创建容器所需要的所有依赖和信息的包。 镜像包括所有依赖(如框架)以及容器运行时使用的部署方式和执行配置。 通常,一个镜像来自于多个基本镜像,这些镜像堆叠于彼此之上,以形成容器的文件系统。 镜像创建后将不可改变。
容器(Container):Docker镜像的一个实例。 容器表示单个应用程序,进程或服务的运行。 它由Docker镜像,执行环境和一组标准指令所组成。 缩放服务时,可以从同一镜像创建容器的多个实例。 或者使用批处理可以从同一镜像创建多个容器,将不同的参数传递给每个实例。
标签(Tag):可以应用于镜像的标记或标签,以便可以标识不同镜像或者同一镜像的不同版本(取决于版本号或目标环境)。
Dockerfile: 包含有关如何构建Docker镜像的说明文件。
构建(Build):基于由Dockerfile提供的信息和上下文构建容器镜像以及构建映像的文件夹中的其他文件的操作。 你可以使用Docker的 docker build命令来构建镜像。
仓储(Repository [Repo]):一组相关联的Docker镜像集合,会带上一个标记镜像版本的Tag。 某些仓储包含特定镜像的多个版本,例如包含SDK(较重)的图像 或 仅包含运行时(更轻)的镜像等。这些版本可以用Tag标记。 单个仓储可以包含镜像的平台版本,例如Linux镜像和Windows镜像。
Docker Hub:一个公共的Registry服务,用于上传镜像并使用它们。 Docker Hub提供 Public 与 Private 形式的Docker镜像托管,构建触发器和Web钩子,以及与GitHub和Bitbucket的集成。
Registry: 一种用于提供对仓储访问的服务。对于大多数公开的镜像默认的 Registry 是 Docker Hub (Docker所拥有)。 Registry 通常包含了来自很多不同团队的仓储。企业通常有自己的私有Registry 来存储和管理他们创建的镜像。比如Azure Container Registry。
Azure Container Registry:提供给那些在Azure中处理Docker镜像及其组件的公共资源。 它提供了一个类似在Azure上部署的平台,可以控制访问且可以使用你的Azure Active Directory组和权限。
Docker Trusted Registry (DTR): 来自Docker的 Registry 服务,因为可以安装在内网里所以它可以服务于组织内的数据中心和网络。 对于需要在企业内部进行私有镜像管理非常方便。 Docker Trusted Registry作为Docker数据中心产品的一部分。 有关更多信息,请参阅Docker Trusted Registry(DTR)。
Docker Community Edition (CE):面向Windows和macOS的开发工具,用于在本地构建,运行和测试容器。 Docker CE for Windows 为Linux和Windows 容器提供开发环境。 Windows上的Linux Docker宿主基于Hyper-V虚拟机。 Windows 容器的宿主直接基于Windows。 Docker CE for Mac是基于Apple Hypervisor框架和xhyve管理程序,它在Mac OS X上提供了一个Linux Docker宿主虚拟机。面向Windows和Mac的Docker CE替代了基于Oracle VirtualBox的Docker Toolbox。
Docker Enterprise Edition (EE): 适用于Linux和Windows开发的企业级Docker工具。
Compose: A command-line tool and YAML file format with metadata for defining and running multi-container applications. You define a single application based on multiple images with one or more .yml files that can override values depending on the environment. After you have created the definitions, you can deploy the whole multi-container application with a single command (docker-compose up) that creates a container per image on the Docker host.
组合(Compose):一个命令行工具和以元数据格式来定义与运行多容器应用程序的YAML文件。你可以以一个或多个.yml文件基于多个镜像来定义一个应用程序,并且可以根据你的环境覆盖原有值。当你创建了定义之后,你可以使用一个命令(docker-compose up)来将整个多容器应用程序以每个镜像一个容器的形式部署到Docker宿主。(这一段,虽然大致意思理解了,但自己翻译的不是很好,特此放上原文帮助各位理解。)
集群(Cluster): Docker宿主的集合就像一个单一的虚拟Docker宿主一样暴露出来,这样应用程序就可以扩展分布在集群中多个宿主的多个实例中去。 Docker集群也可以使用Docker Swarm,Mesosphere DC / OS,Kubernetes和Azure Service Fabric创建。 (如果使用Docker Swarm管理集群,则通常将集群称为 swarm 而不是 cluster 。)
Orchestrator:一种简化Cluster和Docker宿主管理的工具。 Orchestrator使你能够通过命令行界面(CLI)或图形UI管理其镜像,容器和宿主。 你可以管理容器网络,配置,负载平衡,服务发现,高可用性,Docker宿主配置等。 Orchestrator负责通过一组节点来运行,分发,扩展和处理工作负载。 Orchestrator其实就是一种提供集群基础架构的产品,其他类似的有Mesosphere DC / OS,Kubernetes,Docker Swarm和Azure Service Fabric。