Docker 在 CoreOS 的 Rocket 发布之后的一些最初想法
创始人
2025-01-09 10:20:59
0

[[126110]]

当Docker开展的18个月前,我们就开始了一项任务,以建立“按钮”的方式,可以使任何应用程序立即持续的运行在任何地点的任何服务器上。

我们的***个任务是定义一个标准的容器格式,将任何应用程序打包在一个轻量级的容器中,可以让它运行在任何的基础框架上。

正是有很多的辛勤工作者参与到了Docker的整个社区,Docker的功能才会变得很强大,我们可以做出一些比较成功的Docker容器,让其可以运行在所有主要的基础设施上;因此,我们建立一个强大的生态系统,包括:

  • 超过700个投稿人(其中95%人没有工作于Docker.Inc.)
  • 超过65000个自由dockerized语言、框架和应用程序(服务)
  • 支持每个主要DevOps的工具、公共云,和所有主要的操作系统
  • 第三方工具建立在Docker一个强大的生态系统上。现在有超过18000个项目在GitHub上标有Docker标题
  • 在40多个国家,有超过175个以上的关于Docker的聚会团体
  • Docker用户已达数百万

 

在这个过程中,我们构建了一个健壮、开放的设计和治理结构,可以让用户、供应商和贡献者来帮忙指导 Docker 项目的发展方向。

在过去的九个月,我们对 Docker 进行拓展,使之超出饿了一个简单容器的范畴。不过 Docker 继续定义着单一容器格式。很明显,绝大多数我们的用户和贡献者以及供应商都希望 Docker 可以支持在运行在多个主机的多个离散容器中分发应用程序。

我们认为,当我们转向一个多容器、分布式应用的世界时,单个Docker容器应用的简单、开放的接口,无论何地的可移植性,健壮的生态工具集如果丢失,将是非常令人遗憾的。因此,我们一直在推广更加全面的编排服务集(set of orchestration services),涵盖网络、调度、组合、集群等功能。更多细节可以在这周阿姆斯特丹举办的 DockerCon上获取到,其中一些设计点值得注意:

  1. 多容器编排能力(multi-container orchestration capacibilities) - 与容器标准本身一样,这种能力应该由基于社区和生态系统内的协作和反馈的开放设计流程(open design process)创建。
  2. 这些编排功能应该通过开放API来分发,使用开放设计流程进行公开开发
  3. 这些能力不能是单一庞大的(monolithic)。每个人都应该可以自由使用、修改,或者不使用这些服务及其高层API
  4. 这些能力和API应该支持插件(plug-ins),这样大家可以选取最适合自身情况的调度、集群、日志或者其他服务,而不应该牺牲可移植性,跨基础设计工作的能力,使用65K+ Docker化的应用或者基于Docker的18K+工具的能力。这个插件模型在执行引擎(比如libcontainer, LXC)和文件系统(BTRFS, 设备映射/device mapper,AUFS,XFS)下工作的非常好。期待下这周更多的发布说明吧。

当然,不同的人对开源项目如何开发有不同的看法。如上文提到的,绝大多数的用户、贡献者、生态系统内的厂商都希望这个项目支持标准的、多Docker容器的分布式应用。很多厂商,无论大小,都欢迎并正在为此贡献努力(关于Docker开放治理的更多信息,查看下这篇文章)。

我们仍致力于生态系统内的用户、厂商和贡献者。无论大家向Docker贡献的形式,是作为构建Docker容器格式的独立项目,还是作为Docker编排API的插件,或者其他形式,我们都希望开放、分层的方法都能给全部相关者提供选择。但是,一小部分厂商不认可这个方向。有些表达了他们的担忧,当Docker扩大适用范围,他们创造差异化、增值业务的空间就变小了。某些情况下,这些厂商甚至希望创建为他们特定基础设施或业务量身定做的编排方案,因此不欢迎可移植性的概念。当然在另外一些情况下,会有些技术性或者哲学意义上的区别,这些区别看上去与Rocker最近的发布声明有关。我们希望能在后续的文章中解释Rocker项目带来的一些技术争论。

这里,我们要强调这只是一个健康的,开源过程。就像 Docker 是开源的,并遵守Apache开源协议,人们可以自由使用,修改,或者为了自己的需求进行改造。他们可以只把Docker作为一个简单的容器。他们可以自由的将更高级别的服务加入到Docker。当然他们也可以自由的推广另外一种概念作为新标准,就像Rocket团队已经做的那样。

尽管我们不同意一些质疑、争论以及Rocket发布时间,我们希望我们能继续以用户和开发者的利益作为我们的共同的导向。

原文链接:http://www.oschina.net/translate/initial-thoughts-on-the-rocket-announcement

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...