Twitter上 Docker和社区就容器格式标准化争论不休


【编者的话】Docker的容器镜像是否应该完全标准化?Docker是否应该在公开定义的标准化革新上退缩?这是最近Twitter上, Google公司的首席布道师Kelsey Hightower和Docker创始人 Solomon Hykes之间激烈争论的话题。

Hightower 希望Docker的镜像格式是完全标准化的,这样 各个公司包括Docker自己,可以在标准定义之上构建附加的功能。而Hykes在全标准化上非常犹豫,他认为标准化格式太新颖革新太超前。

争论的焦点集中在Docker应当贡献多少容器技术给(OCI),创建一个厂商中立的容器镜像及运行定义。镜像可以是包或者容器本身,附带上应用。运行引擎用来运行容器,提供下层OS的功能支持。

最近Apache Mesos 版本1的发布也拉开了争论的序幕,当时Hightower在产品发布后评论道:哪个厂家愿意第一个发布用于运行Docker容器的第三方软件(他后续发表说Joyent就是第一个)。

他在Twitter上争论的是:理论上运行容器镜像应该不受限于任何运行环境。他写到:“Docker镜像格式在容器业中已成为一个伟大的统一,若Docker能在任何环境下运行,将发挥其最大的潜能“。

Hykes 插话道,在一系列推文中第三方公司声明支持的Docker容器格式都仅仅支持全量功能的一部分,用户若使用这些第三方软件,则会错失一些功能。
1.png

Hykes 反驳道OCI的容器格式是个“伪标准”,最多也只能算作一个中间格式。对于Hightower而言,这些话是最令他惊讶不已的坦言。Hykes认为:Docker已经完成了支持OCI的工作,并已经发布,而Docker版本的迭代速度如此之快,以至于标准化的革新将减缓。
2.png

3.png

4.png

这样的回应令Hightower非常失望,他在Twitter上发布评论:“我本来非常坚信Docker可以将容器技术普及化,但是令人担忧的是一个人想要控制整个趋势。”

问题是第三方厂商构建在Docker上的工作是基于不完整规范的。

“对于大部分Docker的应用者,并不需要所有的特性,如服务发现,集群管理等很多特性均不必须。这时的Docker 就像是公共特性。”Hightower 在Cloudcast的播客采访中回答道:“ 所有有趣的事都构建在上面”。

尽管Hightower 声明并不站在他雇主的立场上发表言论。然而他本身就是Google一系列开源技术的布道师,包括 Go 语言和 Kubernetes(一个支持Docker格式的容器编排工具)。Google发布Kubernetes 是为了鼓励容器的大规模应用,归因于Google想推广Google自有基于Kubernetes和基于容器的云平台。

Cloudcast 的老板Brian Gracely 警示大家,要参考过去的教训:若Docker过于控制镜像格式,会同当年VMWare过于控制虚拟机格式的后果一样,限制第三方仅支持辅助功能,在OVF已经完成的那些VM格式标准化工作,到目前为止都未得到广泛的应用。

Hightower 在播客中说:“这件让大家都打包APP入Docker的事,之所以没有其他的平台愿意构建镜像定义或者容器运行环境的原因是,我们信任Docker和OCI可以做到,若我们可以号召90%的人来参与,那么就可以所有人来讨论对那10%要做些什么,以及那10%是什么。”

这些不确定性因素不利于容器格式的标准化,企业应用也会随之停滞。

当然这也并不是个新话题,去年CoreOS CEO Alex Polvi曾公开表达,OCI的镜像的定义过于狭隘。红帽的首席软件工程师今年在TNS 播客OSCON 上也发表过类似的评论。而Docker并未立刻就评论做出回应。

原文链接:Container Format Dispute on Twitter Shows Disparities Between Docker and the Community(翻译:Chilly)

0 个评论

要回复文章请先登录注册