正文
随着 Docker 对开源文件格式进行商业化,该公司还开始引入工具来补充核心的 Docker 文件格式和运行引擎,包括:
-
Docker hub 用作公共 Docker 镜像存储;
-
Docker registry 用作内部 Docker 镜像存储;
-
Docker cloud,用于构建和运行容器的托管服务;
-
Docker datacenter 作为商业产品内置提供众多 Docker 技术。
Docker 很有远见,它将软件以及相关依赖封装到了一个包中,这种方式颠覆了软件行业规则;正如 mp3 帮助重塑了音乐行业一样。Docker 文件格式成为行业标准,主要的容器技术厂商(包括 Docker、Google、Pivotal、Mesosphere 等)成立了 Cloud Native Computing Foundation (CNCF) 和 Open Container Initiative (OCI)。
今天,CNCF 和 OCI 旨在确保容器技术之间的互操作性和标准接口,并确保使用任何工具构建的 Docker 容器可以运行在任何运行环境和基础架构上。
Google 很早就认识到了 Docker 镜像的潜力,并设法在 Google Cloud Platform 上实现容器编排“即服务”。Google 虽然在容器方面有着深厚的经验(是他们在 Linux 中引入了 cgroups),但它现有的内部容器和 Borg 等分布式计算工具是和基础设施紧密耦合的。
因此,Google 没有使用任何现有系统的代码,而是重新设计了 Kubernetes 对 Docker 容器进行编排。Kubernetes 是在 2015 年 2 月正式发布的,它的目标和构想是:
-
为广大应用开发者提供一个强大的工具来管理 Docker 容器的编排,而不再需要和底层基础架构进行交互;
-
提供标准的部署接口和元语,以获得一致的应用部署的体验和跨云的 API;
-
建立一个模块化的 API 核心,允许厂商以 Kubernetes 技术为核心进行系统集成。