刚开始学docker的时候,被docker.iodocker-iodocker-enginedocker-cedocker-ee这些名词搞晕了,那么到底应该安装哪个呢?

docker之所以有这么多名称,是由它的发展历史决定的。

为什么会有docker.iodocker-io这种命名方式

在 Docker 技术出现之前,Linux中已经有一个叫 docker 的工具,但此 docker 非彼 Docker。

这个 docker 是一个窗口停靠栏程序,就像苹果MAC系统中的dock那个程序一样的工具。

这是它的官网:[http://icculus.org/openbox/2/docker

我们暂时以 Docker 和 docker 来区分。

  • Docker:指容器技术
  • docker:指窗口停靠栏程序

docker.iodocker-engine再到docker

Docker技术出来以后,由于在Linux系统中软件名不能与 docker 重名,而且那个时候 Docker 的官网是 [http://docker.io],所以,就在软件名称上加了 io 的后缀。

于是,在 Ubuntu 中就是docker.io,在 CentOS 中就是docker-io

虽然软件名跟 docker 程序不一样了,但软件安装后的命令还是一样的,都是 docker 这个命令,所以要安装 Docker 软件,要先看看有没有安装 docker 这个停靠栏程序,有的话要先卸载。

在这个时期,Linux系统如果要安装 Docker,就要用 docker 加 io 后缀的方式来安装。

# Ubuntu
apt-get install docker.io
# CentOS
yum install docker-io

使用 [http://docker.io] 和 docker-io 为软件名,主要是前期的一段时间。

后来随着 Docker 的发展,软件包名改成了 docker-engine,名称达到了统一。

# Ubuntu
apt-get install docker-engine
# CentOS
yum install docker-engine

再后来,随着 Docker 技术的火爆,在征得 docker 停靠栏程序作者同意下,给他的软件名称改了,改成了wmdocker,Docker 容器技术的软件包名才正式成了 docker 这个名称,Docker软件包的名称又得到了一次统一。

# Ubuntu
apt-get install docker
# CentOS
yum install docker

docker-ce 与 docker-ee

到 Docker 1.13.1 版本之前,Docker 软件包的名称有两次变化:从 docker-io([http://docker.io] 到 docker-engine,再到 docker。

Docker 发展到 1.13.1 版本后,Docker 公司把 Docker 分成了两种形式:

  • docker-ce 社区版,免费
  • docker-ee 商业版,收费

并且版本号的命名方式也改了,以前都是那种常用的版本号命名方式,比如0.1、0.2、1.0之类的,现在分社区版和商业版后,版本号是『YY.MM-xx』的形式命名的,比如2019年10月发布的,版本号就是19.10。

所以在 Docker 1.13.1 之后,直接是 Docker-ce 17.03.0 版本了。

现在要安装最新版的 Docker 软件包,就是使用 docker-ce 这个名称了,如果是商业版的就是 docker-ee。

# Ubuntu
apt-get install docker-ce
# CentOS
yum install docker-ce

在安装 docker-ce 之前,要先卸载旧版本:

# Ubuntu
apt-get remove docker docker-engine docker.io
# CentOS
yum remove docker docker-common docker-selinux docker-engine

如果现在想学习 Docker,一定要用最新的软件包,也就是 docker-ce,像 [http://docker.io]、docker-io、docker-engine、docker 这些都是旧版本,已经不适合使用了,特别是 [http://docker.io] 的这个版本时期,很多功能是没有的。

Ubuntu维护的[http://docker.io]

在Ubuntu系统中,除了可以使用apt-get install docker-ce 命令安装docker外,还可以使用下面这个命令安装:

apt-get install docker.io

认真看了本文的读者可能会有疑问了,[http://docker.io]不是老古董版本吗,怎么还用这个命令安装?

这是因为,随着docker的发展,docker的名称虽然发生了三番五次的变化,但Ubuntu上的[http://docker.io]却一直在维护,它的版本也在不停地更新(中间好像停止维护了一段时间),所以,如果你的是Ubuntu系统,也可以用这种方法安装。