其他

Docker 出错回顾,2018 将寿终正寝?!

2018-01-16 OSC - 协作翻译 开源中国


说 Docker 有一个非常艰难的 2017 年是一个很保守的说法。除了 Uber ,我想不出一个更有用的、更被炒得沸沸扬扬的硅谷初创企业(仍在运作的),像 2017 年的 Docker 一样糟糕且毫无头绪。


人们或许以后会想起 2017 ,是因为一个伟大的软件因为糟糕的商业行为,被彻底毁了,并导致其于 2018 年彻底死亡。这是一篇关于 Docker 如何以及在哪里出错,以及太少和太迟解决问题的对外回顾。



Docker 是一个好软件


需要指出的是,Docker 已经帮助革新了软件开发流程。使用诸如 cgroups、命名空间、进程隔离等 Linux 原语(primitives)加入到单个工具中是一个了不起的亮点。在 2012 年,我试图弄清楚开发环境如何更加可移植。


Docker 的崛起使得开发环境成为一个简单的、可版本控制的 Dockerfile 。工具从 Packer、Vagrant、VirtualBox 和大量的基础设施中转移到了 Docker 上。Docker UI 实际上也相当不错!这是许多应用程序的好工具。Docker 团队的成员应该为他们所构建的工具感到自豪。


Docker 是硅谷的宠儿


Docker 早期的成功导致该公司围绕其产品建立一个大型社区。早期的成功一次次推动了资金轮动。像高盛、Greylock Partners、红杉资本和 Insight Venture Partners 这样的知名投资者排起了长队,为 Docker 提供了大量的资金。到目前为止,Docker 已经筹集了总额在 2.42 -2.5亿 美元的资本投资。


但是,像大多数资金充裕的、不惜一切代价出头的 2010 年创业公司一样,Docker 造成了一些人力资源上的失误。Docker 在成长的过程中保护了一些蹩脚的人。这导致我个人不喜欢该公司的领导。其产品仍然是有质量的,但不能原谅该公司的行为。可悲的是,很多硅谷宠儿都是这样的,这需要改变。


Kubernetes 给 Docker 带来的伤害


由于 Kubernetes 的兴起,Docker 的厄运加速了。Docker 在对这个开源社区的容器编排工具宠儿 Kubernetes 处理上表现的没有好感。在 Docker 的心中,Docker Swarm 才是唯一的容器编排工具。尽管这是因为 Kubernetes 控诉 Docker 容器(缺乏开放性)在先。Docker Captains 坚决反对 Kubernetes 2017年初在各种文章中、聚会和会议中的讨论。

在 Austin 的 DockerCon17 上,出现了 Kubernetes-less 的口号。然后,相当突然的,在 DockerCon EU 17 上,
Docker 决定全面拥抱 Kubernetes 。突然的变化显然是 Docker 承认了 Kubernetes 的崛起和其即将到来的统治地位。Docker 赞助其 KubeCon + CloudNativeCon North America 2017 活动并在现场摆放展台的行为也加剧了这一事实。


Moby?


没人懂得 Docker 在4月份的 DockerCon17 上发布 Moby 时究竟在做什么。Moby 被描述为 Docker 项目的新的上游。但 Moby 的推出并没有提前放出消息。就如 Solomon Hykes 在 DockerCon17 上发言的那样,当直接将 Github 上原隶属于 Docker 组织的 Docker 项目,直接转换到了一个新的、名叫 Moby 的组织下时,引起了数百万的争议爆发。这种极端的、糟糕的做法甚至引来了 Github 员工的直接干预。


这次的改变不仅管理得不好,而且信息也没有得到很好的考量。随后导致了致歉,并手绘阐释了这一变化。这也进一步混淆了已经混浊的容器空间和 Docker(或者是 Moby?)的生态系统。Moby 部署的处理继续困扰着业内的从业人员。Docker 品牌可能因此受损。


Kubernetes 的冷拥抱


在最后的时刻,Docker 仍然迟迟不能拥抱 Kubernetes ,这是一个即将崩溃的迹象。当被问及 Docker Swarm 是否已经死亡时,Solomon Hykes 在推特上说:“Docker 将继续按照一等公民的级别支持 Kubernetes 和 Swarm ,并鼓励异花授粉(cross-pollination)。


开放性和选择性为每个人创造了一个更健康的生态系统”。这里真正的问题是 Docker Swarm 并没有完全完工,而且距离完工还早得很。Docker Swarm 产品团队及其少数开源贡献者将无法跟上 Kubernetes 社区的步伐。不仅和 Docker UI 一样好,Kubernetes 的 UI 甚至还要优越得多。这就和让 Docker 承认自己在容器领域成为一家边缘咨询公司差不多。


结语


Docker 的真正问题是缺乏一致的领导。这个组织中似乎把战略聚焦在单独的一个人身上。这个人已经越来越远离公司的核心,但仍然存在。该公司现已重组,并把重心转移到企业。这种转变对于 Docker 的投资者来说是有意义的(毕竟公司确实有信托责任),但这种转变将会降低推动其大获成功的品牌影响力。都说“伟大的文明不是被谋杀的。是他们自杀的”,Docker 就是这么做的。


补充: 阴谋论


我在 Twitter 上提出了一个关于 Docker 在 2017 年的尴尬时刻的猜测。可能 Docker 知道公司本身即将终结,所以才有了后面的一些技术变化:将 containerd 捐赠给 CNCF ,使 Moby 成为 Docker 的上游,并且拥抱 Kubernetes ,这将使 Docker 人所做的出色工作永垂不朽。


这也使得像甲骨文或微软这样的大型组织能够一起来收购这家公司,而不必担心错失由于许可证被锁定而带来的技术进步。这为软件团队和公司本身提供了两全其美的方法。不管怎么说,2018 年对于 Docker 来说将是一个有趣的一年。



推荐阅读

2017 码云最火爆开源项目 TOP 50,你都用过哪些?

2018 年 Java 平台发布计划之新特性展望

在 Node 的帮助下,横跨多平台的 JavaScript 已经赢了

《绝地求生》外挂源代码被公布,或迎神仙大战时代?

2017 开源中国新增开源项目排行榜 TOP 100

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存