Docker简介

  • Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。

  • Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。

  • Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供包含支持服务的商业版本的 Docker。

Docker公司

Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立。

有意思的是,Docker 公司起初是一家名为 dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。

底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“Docker”。Docker就是这样诞生的!

2013年,dotCloud 的 PaaS 业务并不景气,公司需要寻求新的突破。于是他们聘请了 Ben Golub 作为新的 CEO,将公司重命名为“Docker”,放弃dotCloud PaaS 平台,怀揣着“将 Docker 和容器技术推向全世界”的使命,开启了一段新的征程。

Docker 运行时与编排引擎

多数技术人员在谈到 Docker 时,主要是指 Docker 引擎。Docker 引擎是用于运行和编排容器的基础设施工具。

Docker 引擎可以从 Docker 网站下载,也可以基于 GitHub 上的源码进行构建。无论是开源版本还是商业版本,都有 Linux 和 Windows 版本。

Docker引擎主要有两个版本:企业版(EE)和社区版(CE)。

Docker开源项目(Moby)

『Docker』一词也会用于指代开源 Docker 项目。其中包含一系列可以从 Docker 官网下载和安装的工具,比如 Docker 服务端和 Docker 客户端。

不过,该项目在 2017 年于 Austin 举办的 DockerCon 上正式命名为 Moby 项目。

由于这次改名,GitHub 上的 docker/docker 库也被转移到了 moby/moby,并且拥有了项目自己的 Logo。
Moby 项目的目标是基于开源的方式,发展成为 Docker 上游,并将 Docker 拆分为更多的模块化组件。

Moby 项目托管于 GitHub 的 Moby 代码库,包括子项目和工具列表。核心的 Docker 引擎项目位于 GitHub 的 moby/moby,但是引擎中的代码正持续被拆分和模块化。

开放容器计划

OCI 是一个旨在对容器基础架构中的基础组件(如镜像格式与容器运行时)进行标准化的管理委员会。

OCI 已经发布了两份规范(标准):镜像规范和运行时规范。

公平地说,这两个 OCI 规范对 Docker 的架构和核心产品设计产生了显著影响。Docker 1.11 版本中,Docker 引擎架构已经遵循 OCI 运行时规范了。

OCI 在 Linux 基金会的支持下运作,Docker 公司和 CoreOS 公司都是主要贡献者。