什么是Moby运行时?

时间:2019-07-04 11:58:41

标签: linux docker containers runtime moby

当前正在学习docker和容器化,我对“ moby runtime”一词有些困惑。

据我所知,整个docker被分为几个库/工具/组件,允许开发人员使用moby运行时构建自己的docker版本。

这个假设正确吗?

moby运行时与例如如果使用官方docker页面,我会在Windows机器上下载用于桌面的docker吗?

为什么Microsoft使用Moby Runtime运行某些服务,例如IoT Edge,而不是官方docker build?他们是否使用自定义版本的Docker?

2 个答案:

答案 0 :(得分:2)

是的,我认为您的理解是正确的。

来自official web site

  

Moby是由Docker创建的一个开放框架,用于组装专用容器系统,而无需重新发明轮子。它提供了一个由数十种标准组件组成的“乐高套装”,以及一个将它们组装到定制平台中的框架。 Moby的核心是一个组装专用容器系统的框架,该框架提供:组件,工具,组件。

它也说:

  

建议任何想要组装基于容器的系统的人使用Moby:想要自定义或修补其Docker构建的黑客。

下一个字母可以使您更清楚:

enter image description here

由此可见,您可以像基于Moby项目的Docker CEDocker EE一样启动自己的项目。我认为here是一篇很好的文章,请解释清楚。同样,this来自官方的回应也是某种关系。

答案 1 :(得分:1)

Moby是Docker的一个过度使用的名称。除了作为他们的吉祥物之一的名字(Moby是您经常在徽标中看到的蓝鲸)之外,Moby还有:

  1. Docker向社区提供的上游开源项目。这将与Docker的封闭源代码部分以及带有Docker商标的部分分开。您可以在它们的Github repositories中看到这些项目。您可以像将Fedora视为RedHat的上游一样思考Moby Project,Docker在Moby Project存储库中进行了大部分开发工作,并从那里打包了特定版本的Docker名称,您将其称为Docker CE和Docker EE。 。有些项目可能永远存在于这里,但Docker还努力将这些项目进一步移至上游,以由外部组织进行管理,例如容器式和公证式都已过渡到Linux Foundation。

  2. 这是以前是docker / docker的存储库名称,现在移到了moby / moby。这是docker引擎的核心。

  3. 这是使用LinuxKit打包的虚拟机。该VM是运行Docker容器的最小环境,非常适合在您不想管理VM本身的台式机和嵌入式环境中运行。

后者很可能是您在“ Moby Runtime”中所想到的。需要VM才能在Windows或Mac环境上运行Linux容器(docker容器取决于很多内核功能,这些功能很难模仿)。您甚至可以在LinuxKit examples中查看有关构建类似VM的示例。该虚拟机内部是本地安装在Linux主机上的同一Docker CE引擎。 VM本身是由Docker构建和维护的。