Docker的第二次死亡

2020-12-07 02:42:45

也许不会永远长久,但是Docker的历史无论好坏都让人觉得很长。我于2015年夏天加入Red Hat,同年OpenShift 3.0进入GA。这是一个了不起的事件,因为它标志着该平台已经重新设计到Kubernetes上,而Kubernetes本身才刚发布到v1.0(如果您可以相信GKE这么久的话,这与GKE进入GA的时间表相同)。像许多人一样,我不知道Kubernetes或OpenShift是什么,而且我对Docker肯定也不了解。我知道容器。到了秋天,我在这三个方面都陷入了困境,几个月后就爱上了这个生态系统。

第二年春天是我与Docker Inc.的第一次“真正”接触。我没有参加2016年Red Hat峰会,但我清楚地记得那一年是Docker真正对Red Hat OpenShift采取了首次对外敌对行动,这一年是Red Hat自己的事件。他们正在分发以下衬衫:

简而言之,这是对Red Hat将补丁反向移植到较旧版本的软件(也称为“企业支持”)的一种攻击。当时Red Hat发行了Docker版本,该版本仅比最新版本稍晚,而Docker发行了最新版本。我将不讨论为什么会如此重要的细节,因为今天仍然存在着一个争论,即向后移植补丁对组织而言是否比保留最新版本的事物更好(后者最近变得更好)。这是很重要的,因为在那之前,Docker是OpenShift叙述中不可或缺的一部分。我们互相推销,大多数人甚至不是所有人的基本假设是,Docker只是一项伟大的技术。回想起来,当Docker Inc.开始进入企业领域并突然停止成为伟大的技术时,这应该是预料之中的。

我称之为早期的平台之战,主要集中在OpenShift,Docker和Pivotal。 Pivotal在早期就已大举进入企业组织,这有充分的理由:平台体验非常出色。将其与Pivotal Labs结合使用,您会获得一些不错的魔力。 Docker是新兴的。这是行业宠儿,引起了轰动,它拥有每个人都想要或每个人都已经在使用的技术。 Kubernetes仍然是一个问号。我花了很多时间与组织谈论Kubernetes的细节,为什么重要,或更准确地说:为什么对他们重要。 Docker放弃OpenShift的举动迫使Red Hat消息在Kubernetes和Linux上过度索引。它奏效了,行业赶上了。

仍处于行业宠儿状态的Docker对Docker Swarm的反应很快,但从未真正流行起来。 Swarm最终因整个行业对Kubernetes的采用而不知所措(这是双关语),这是它第一次死亡:它失去了平台之战,并成为云原生生态系统中的第一个商品。 2016年下半年确实是Kubernetes击败Swarm的时候。次年春季在DockerCon 2017上的主题演讲演示了这一点,当时演示者在大型舞台上展示了​​Docker与Kubernetes的集成。值得注意的是,这是最后一个引起轰动的“大型” DockerCon。从那开始,这就是Kubernetes / CNCF的节目。

在所有这些时间里,Docker一直是Kubernetes不可或缺的一部分。这是关系:

在最近的19个发行版中,Kubernetes已支持该链。所有这些只是为了旋转装有容器的豆荚。 Docker从必要性变成了技术债务。除此之外,社区一直在努力,直到现在,在下一版1.20中将弃用Docker。社区(理所当然)承担了Docker的技术债务多年,以确保在Docker守护程序无处不在的情况下,该行业能够获得最无缝的体验所需的东西。这是已经存在了一段时间的内容,但将正式成为1.20及更高版本的黄金时段:

这是一个极大的简化,并且恢复了一致性。为了直观地说明为什么这样做是必要的,我鼓励您将Docker视为容器之上的平台抽象,这些容器只是一些Linux构造的集合。这种抽象的一部分涉及到Docker平台与容器化之间的集成,后者可以说是当今最受欢迎的容器运行时。 Docker从来不是运行时。 Docker使得容器化和其他Linux构造易于使用,因此容器管理变得轻而易举。您不需要创建或部署运行容器的十几行代码,而是需要:

但是像任何平台一样,这种便利性伴随着大量的膨胀和技术负担。尤其是随着时间的流逝。移除docker和优化容器化标志着云原生环境的文化转变。这些都不是要解雇Docker Inc.的原因。今天没有Kubernetes就是没有Docker Inc.的地方。这是事实。 Docker公司推动的技术和竞争是该行业有史以来最好的事情。现在,从开源技术转变为盈利业务模型的可能性不大,Docker Inc可能会被视为泛滥的警告。不过,将公司的贡献与业务模式区分开来仍然很重要。到目前为止,Docker平台还剩下Kubernetes平台中的影子。尽管它确实存在于CI / CD生态系统中,而且表面上存在事实上的标准Dockerfile,但在表面上却存在开发的内循环。 Docker Inc曾经拥有的强大能力证明了其技术的生存远不止该公司的淘汰,直到社区创新赶上了它。经过多年的膨胀,该平台左侧的其他区域摆脱了Docker守护程序的债务,这只是一个时间问题。

尽管它经历了一段了不起的旅程,并且给整个行业带来了不可磨灭的影响,但实际上,Docker已经死了,并且正在消亡。