Docker改名为Moby了吗?
背景
在DockerCon17上,Docker发布了两个新的开源项目LinuxKit和Moby。而原来在Github上托管的docker也随着PR #32691的合入正式变为Moby。这究竟是什么情况?本文从Docker官方能够获取到的信息出发,让真相大白。
介绍
Docker官方已经正式发布了Moby项目的介绍:INTRODUCING MOBY PROJECT: A NEW OPEN-SOURCE PROJECT TO ADVANCE THE SOFTWARE CONTAINERIZATION MOVEMENT。
文章的标题直接阐明了Moby的意义:一个致力于推进软件容器化运动的开源项目
下面是官博上这篇文章我的译文,可供参考。
译文
从四年前Docker推广普及软件容器开始,围绕容器化的整个生态圈也随之蓬勃成长,并在这期间经历了两个不同的阶段。在这两个阶段中,用于生产容器系统的木星也在不断地演变进化以适应社区、项目以及贡献者生态圈的数量规模与需求。
Moby是个致力于推进软件容器化运动的开源项目,它提供一个组件库,一个将组件装配成定制化基于容器的系统的框架和一个所有容器发烧友试验与交流想法的场所。
让我们来回顾一下我们是如何走到今天的。在13-14年,(容器化运动)先驱者们使用容器在庞大的开源库如Docker何一些其它项目合作以帮助工具成熟起来。
在15-16年,容器被大规模应用到原生云应用。在这个阶段,凭借成败上千的容器生态项目与贡献者,用户社区规模成长到足以支撑大量的部署。正是在这个阶段,Docker将它的生产模型演进为一个基于开放式组件的解决方案。通过这样的方式,我们扩大了创新与协作的范围。
一些新颖而独立并且帮助合作方与用户社区生态的Docker组件项目正在迅速崛起。在这期间,我们将组件从Docker源码库中抽取并迅捷地创新,系统制作者可以独立地使用它们来构建自己的容器系统:runc, HyperKit, VPNKit, SwarmKit, InfraKit, containerd等等。
处在容器浪潮之巅,我们看到2017年的趋势是容器已然成为主流,在计算、服务器、数据中心、云、桌面应用、物联网和移动等领域广泛传播,包括各行业和垂类市场:金融、医疗、政府、旅游、制造业,以及各用例:现代手机端应用、传统服务端应用、机器学习、工业控制系统、机器人。对于容器生态圈的新人,他们的共同点在于他们针对特定的基础设施、行业或者用例构建了自己特有的系统。
作为一家公司,Docker使用开源作为自己的开源实验室与整个生态圈进行合作。Docker的成功与容器生态圈的成功密不可分:生态圈成功,我们也即成功。因此,我们一直在规划者容器生态圈发展的下一个阶段:什么样的生产模型可以帮助我们扩展容器生态圈来实现让容器成为主流的承诺?
去年我们的客户开始寻求如Mac和Windows桌面、Windows服务器和例如AWS、Microsoft Azure或是Google Cloud Platform等一系列Linux之外的Docker解决方案。我们创建了一系列针对这些平台的Docker发行版。为了能够在相对比较短的时间内以小团队用一种可扩展而不重复造轮子的方式构建交付这些Docker版本,我们显然需要一种新的途径。借鉴汽车行业的装配重用组件以制造不同汽车的想法,我们的团队需要不仅在组件上,还需要在组件装配上进行协作。
我们认为在生态圈这一层进行组件组装的协作是将容器生态圈扩展到下一个高度以实现容器即主流的最佳方式。
为了实现这一心层次的合作,我们现在宣布Moby项目——一个致力于推进软件容器化运动的开源项目。它提供了一套组件的“乐高积木”,一个将组件装配成定制化基于容器的系统的框架和一个所有容器发烧友试验与交流想法的场所。把Moby想象成容器系统的“乐高俱乐部”吧。
Moby由以下几部分组成:
一个容器化的后端组件库(例如:一个低层builder,日志功能、数据卷管理、网络、镜像管理、containered、SwarmKit)
一个可以将这些组件装配成独立的容器平台并协助构建、测试、部署构件的框架
一个叫Moby Origin的参考——它是Docker容器平台的开放基础,同时也是使用来自Moby库或是其它项目的组件的容器系统样例。
Moby是为系统构建者——想构建自己的基于容器的系统的人设计的,而不是使用Docker或者其他容器平台的开发者。Moby项目的参与者可以选择派生自Docker的组件库,也可以“bring your own components(自带组件)” (BYOC),打包成可以混合搭配其他组件的容器来创建定制化的容器系统。
Docker使用Moby项目作为开放的研发实验室,用于试验、开发新组件并与生态圈就未来容器技术进行合作。我们所有的开源合作都会迁移到Moby项目。Docker现在、将来都一直会是一个可以让你构建、传播、运行容器的开源项目。从用户角度来说,一切都没有发生变化。用户可以继续在docker.com上下载Docker。关于更多信息,请参考more information about the respective roles of Docker and Moby on the Moby website。
请加入我们,通过组件与组装品的合作,一起让软件容器成为主流,扩大我们的生态圈和我们的用户社群到下一个高度。
评析
阅毕这篇官方博文,想比也已经大概了解了Docker与Moby的关系。可以说Moby是Docker之母。通过Moby可以将定制化的组件打包做成一个Docker,而Moby就相当于一个组件仓库与Docker工厂。Docker公司的这一举动可以说也是顺应了潮流,将Docker与操作系统解耦,并且将其以组件组装的形式模块化。可以说今后,操作系统也是Docker容器的一个基础组件。而Moby项目既是一个组件库又是一个框架,为今后组件制作与组装提供了一套规范。
上面的译文贴的来自原文的几张配图也非常有意思,我们也可以从图中理解Moby与Docker的关系。而Moby本身的Logo是一头鲸鱼的尾巴,我认为这个Logo的含义便是:你只看到了那会是Docker大鲸鱼,但是到底会是一头怎样的鲸鱼,便要通过Moby孕育才能看完整了。
当然,这一切对于使用Docker容器进行应用开发的开发者来说,其实关系并不是太大,甚至可以说目前来看几乎没什么影响。
在Docker官方仓库上我们可以看到已经写得很清楚:Moby主要针对的人群是想要组装一个基于容器的系统的人,包括
- 想要定制化Docker构建的hacker
- 想要构建一个容器系统的系统工程师
- 想要将已经存在的容器系统适配到自己环境的 基础设施提供方
- 想要体验最新容器技术的容器爱好者
- 想要在不同系统中测试项目的开源开发者
- 任何对Docker内部原理与如何构建感兴趣的人
但对于如下人群,Moby并不适合:
- 寻求一种简单的在容器中运行应用程序的应用开发者。推荐使用Docker CE。
- 想要一个带有商业支持且开箱即用容器平台的企业IT与开发团队。推荐使用Docker EE。
- 任何对容器感兴趣并且寻求一种简单易学的方式的人。请访问docker.com吧。
总结
回到本文标题,Docker改名为Moby了吗?答案已经很明确了,Docker仍然还在,仍然还叫Docker。只是Moby项目已经问世,它是Docker的上游项目,是Docker之母。正因如此,Docker这个名字也已经不适合作为原来源码库的名字了。而对于普通的容器个人使用者或者企业,影响并不是太大。对于一些容器系统厂商和组件提供方,Moby提供了一种新形式的协作平台,可以定制化、增强、适配容器系统等等。
参考
Docker改名为Moby了吗?的更多相关文章
- 在CentOS上为Docker开启SELinux
a { color: #4183C4; text-decoration: none } a:hover { text-decoration: underline } ul,ol { padding-l ...
- 容器化-Docker介绍
导读:本文章对Docker技术进行了介绍,阐述了Docker的技术发展历程.容器与虚拟机的差异.Docker原理.特点.Docker三组件和Docker带来的影响,为我们进一步理解Docker打下基础 ...
- Docker学习笔记之Docker 的简历
0x00 概述 在了解虚拟化和容器技术后,我们就更容易理解 Docker 的相关知识了.在这一小节中,我将介绍关于 Docker 的出现和发展,Docker 背后的技术.同时,我们将阐述 Docker ...
- [转载]Docker 完全指南
Docker 完全指南 原作者地址: https://wdxtub.com/2017/05/01/docker-guide/ 发表于 2017-05-01 | 更新于 2017-08-03 | ...
- CentOS 7 安装Docker CE
本节内容: 背景 Moby项目 安装Docker CE 卸载Docker CE 一.背景 在搭建Registry的过程中,发现使用Docker 1.12版本,在push镜像到Registry时会报错误 ...
- .net core 在 Docker 开发下的巨坑
一,Docker 的安装 Windows 安装 Docker 官方文档: https://docs.microsoft.com/zh-cn/virtualization/windowscontain ...
- 极简Docker和Kubernetes发展史
2013年 Docker项目开源 2013年,以AWS及OpenStack,以Cloud Foundry为代表的开源Pass项目,成了云计算领域的一股清流,pass提供了一种"应用托管&qu ...
- 【转帖】极简Docker和Kubernetes发展史
极简Docker和Kubernetes发展史 https://www.cnblogs.com/chenqionghe/p/11454248.html 2013年 Docker项目开源 2013年,以A ...
- Docker容器(一)——Docker的介绍与部署
(1).Docker概述 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化.容器是 ...
随机推荐
- Rabbitmq集群高可用部署详细
序言 清风万里的季节,周末本该和亲人朋友一起消遣这烂漫的花花草草,或是懒洋洋的晒个太阳听听风声鸟鸣.无奈工作使然,理想使然,我回到啦公司,敲起啦键盘,撸起啦代码,程序狗的世界一片黯然,一片黯然,愿天下 ...
- 3101: N皇后
3101: N皇后 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 88 Solved: 41[Submit][S ...
- SEO-百度推出新算法如何应对
> 如何知道百度推出新算法百度推出算法的趋势> 学SEO目的做排名,长流量,赚钱> 最近一年百度搜索变动1> 2012年6月:6/22, 6/28事件,百度地震,4.5%网站被 ...
- python 接口自动化测试(二)
代码实现 1.XlsEngine.py # -*- coding:utf-8 -*- __author__ = 'yanghaitao' import xlrd import xlwt class X ...
- 推荐三款日期选择插件(My97DatePicker+jquery.datepicker+Mobiscroll)
1.My97DatePicker 纯原生JS,专注于PC端,支持IE6+:页面上只需要引入WdatePicker.js文件,但是My97DatePicker整个目录是一个整体,最好不要破坏里面的目录结 ...
- 优雅的使用sublime写lua~ sublime lua相关必装插件推荐~~
缘起 lua脚本语言虽好,代码写得飞快,可是写错了调试起来却很困难,lua使用者经常容易犯得一个错误是--写错变量名了,if end 嵌套太多没匹配~,多打了一个逗号, 假设定义了一个变量 local ...
- 关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法
系统环境:centos 下午使用npm安装"cheerio",想搞爬虫玩玩. npm安装有两种模式: 本地 # npm install cheerio 全局 # npm insta ...
- 前端开发必备组件库【基于原生js、兼容主流浏览器、B/S必备】
[持续更新中...跪求点击右上角星星,好人一生平安!] API详见github,链接如下: https://github.com/pomelott/pomelo-plug-in
- Web移动端的常用组件库
normalize http://necolas.github.io/normalize.css/ 最受欢迎的css reset 保留有用的默认值,这个区别于其他的CSS resets 标准化大范围的 ...
- 这是对position讲解最通俗易懂的版本了。
position 为了制作更多复杂的布局,我们需要讨论下 position 属性.它有一大堆的值,名字还都特抽象,别提有多难记了.让我们先一个个的过一遍,不过你最好还是把这页放到书签里. static ...