也说说Docker、Moby和Rancher

在以前的DockerCon上,Docker官方公开了Moby项目——将Docker组件化成一系列程序集。DockerCon上有一个简单的demo,用moby工具将各类组件组装到定制的Linux操做系统镜像中。这看上去很酷,但同时也让不少人困惑。同时,关于Moby的热议和争论也从未中止过。安全

本文的做者是Rancher Labs的首席架构师兼联合创始人Darren Shepherd,同时也是Docker的maintainer。咱们想提供一些关于Moby项目的背景和解释,以及它将如何影响Rancher、RancherOS和咱们的用户。架构

Moby项目的一些背景

其实早在几个月前,关于Moby项目的讨论就已经在Docker Project maintainer之间展开了,这一切都是因为Docker既是一个产品、又是一个项目的双重性质。这个双重性在一开始是给Docker(既是指Docker项目,也是指Docker公司)带来了很多好处的。可是最终,Docker公司必然要走到这个决定的路口,决定他们的产品到底应该是什么样,未来到底是什么走向。做为Docker maintainer的咱们,认为产品和项目确实应该分开。工具

Docker公司的最终目标,是在过往工做的基础上,进一步将Docker组件化。 Docker的组件化并非什么新鲜议题了,这项工做已经进行了很长时间,从runc和containerd开始,长期以来它一直是Docker项目的目标。多亏一千个贡献者和maintainer,到目前为止,Docker还是一套组织良好的library和package。组件化

Moby项目将Docker项目转变成了彻底组件化的架构,并为绝大多数的Docker代码、而非产品自己提供了新的归属。 Moby让咱们这些社区成员得以之前所未有的方式为容器技术的创新和发展做出更多贡献。现在,咱们能够从技术角度来处理一些很是有效的用例,不过这与之前的Docker产品有冲突。而举例来讲,RancherOS就是这么一个用例。操作系统

Moby会如何影响Rancher、RancherOS和咱们的用户?

那么,Moby对Rancher、RancherOS和咱们的用户会产生什么影响呢?答案是,大多数用户不会看到任何改变:Docker仍是Docker。它将继续是您所了解和喜好的Docker(而且有可能会有更好的内部架构)。产品

在RancherOS里你会看到什么改变?RancherOS是一个高度专业的容器应用,它是一个全部组件都是容器的操做系统。要使RancherOS成为可能,咱们在Docker中须要一些真正的low-level的knob。而即便这有可能不利于Docker UX,Docker仍为咱们提供了许多这样的knob。好比说,--uts = host:我猜99%的Docker用户都不知道这个标记是什么,可是RancherOS须要它,有了它,DHCP才能够动态地传播主机名的更改。社区

从长远来看,Moby项目是将给RancherOS带来积极帮助的。咱们能够继续保持相同的Docker用户界面,可是经过Moby,咱们能够访问全部咱们须要的low-level的Linux knob。最后,用户将拥有的会是一个更轻量、更快、更安全的RancherOS。 Moby项目对于Rancher而言也是很是好的:Rancher旨在管理Docker容器,在未来,咱们还能够管理从Moby Project组装的定制Linux组件。容器

写在最后…

Moby引起的热议仍未停息,业界也有不少质疑和不满的声音。而咱们只想关注更积极的一面,和Docker用户、Rancher用户及容器生态系统中的全部人一块儿,继续为开源、为容器的发展做出贡献。基础

相关文章
相关标签/搜索