容器服务Docker&Kubernetes + 关注
手机版

Docker改名啦?什么是 Moby Project

  1. 云栖社区>
  2. 容器服务Docker&Kubernetes>
  3. 博客>
  4. 正文

Docker改名啦?什么是 Moby Project

易立 2017-04-25 00:20:25 浏览13927 评论3

摘要: DockerCon上最大的新闻莫过于Solomon Hykes宣布Moby项目了,这也在网上引发了轩然大波,关切和争论纷至沓来。本文将介绍Moby项目的细节以及它和Docker产品之间的关系

14930502792289

DockerCon上最大的新闻莫过于Solomon Hykes宣布Moby项目了,这也在网上引发了轩然大波,关切和争论纷至沓来,一些所谓“解读”也更加让人困惑。

简而言之,Docker公司决定将软件产品“Docker”和开源项目“Docker”区分开来。Moby Project项目将作为开源项目的新名称,它包含了一系列公共开源组件,用于组装专门的容器系统。Moby将由开源社区的开发者共同维护。而Docker公司会基于Moby构建Docker社区版(CE)和企业版(EE)等软件产品。

对于使用Docker社区版/企业版的用户,此次不会有任何的影响。这次变更主要针对Docker的原有开源开发流程和基础组件。

Project Moby的官网包含很多官方解读,https://mobyproject.org/DockOne刊载了一个不错翻译的文稿

在Twitter上,Solomon用手绘解释 Project 项目的基本概念

IMG_2498

Moby是由Docker创建的一个开源框架,用来组装专门的容器系统,而无需开发者重新发明轮子。Docker社区版会基于Moby构建,而且Docker社区版将作为Docker企业版的上游代码基础。

IMG_2499

Moby项目将提供工具可以将标准组件库像“乐高积木”那样组装成定制的容器框架,可以支持各种使用容器的场景,从云端到IoT设备。一个名为Moby Origin的参考组装品,会作为Docker容器平台的开源基础。DockerCon上,Rolf Neugebauer演示了多个例子,其中包括利用Moby构建一个OS镜像来在Google云上部署Kubernetes。

在Solomon的解读中,Moby和Docker在逻辑上就像像 Fedora 开源项目和 Red Hat Enterprise Linux 的关系

然而为什么这次更名,引发了如此广泛的争论?

首先,Docker公司将限制“Docker”名称的使用范围,Docker作为Docker公司的注册商标,只能被用于Docker的产品(比如社区版、企业版、Docker Hub、Docker Store等)。

其次,Solomon直接将开源 Docker 代码仓库地址迁移成为 https://github.com/moby/moby,这导致了整个开发流程的变化。连 Solomon 本人后来也承认这次变更与用户之间进行的沟通做的不够,他表示:“我发现我此前在pull request中所做的声明不够清楚。对此我感到非常抱歉。”

在我的理解中,Docker公司有权利定义“Docker”名称的含义、使用范围和选择自己的商业化模式,然而如果此次变更以较为稳妥的方式迁移的话,会减少很多不必要的纷扰和困惑。

从积极的角度上来看,Docker公司将继续推动Docker技术的组件化和开放性,从向Linux和CNCF基金会贡献runc到containerd,到今天将Project Moby交给开发者社区主导。一个初创公司已经为容器开源社区做出了众多贡献,而且我们可以预见更多有创意的容器应用可以从开放的社区中孕育出来。

在DockerCon上,Solomon的一个段子引发全场欢笑:Docker一直以来在采用“Complaint driven” (抱怨驱动)的方式进行开发,Docker团队持续不断地修复开发者对Docker的抱怨,而这个过程将无穷循环下去。期待这次Docker团队能够听到开发者的声音,真正实现建立Project Moby的愿景。

最后还是用官方架构图再次澄清一下什么是Moby,它和Docker产品的关系吧
IMG_2497

【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

网友评论