9

Docker 与 MirageOS 等外核方法有何关联?

有关 MirageOS 的一些信息,请参阅:

4

2 回答 2

6

这是非常不同的。

Mirage 有效地将应用程序放在虚拟机上并将其剥离,只留下应用程序所需的系统部分。结果是一个非常小的虚拟机,只需要一个管理程序即可运行。每台机器本身就是一台机器,就像虚拟机一样与其他所有机器隔离开来。

Docker 通过使用联合文件系统尽可能多地共享来节省资源。图片中仍然至少有一个全尺寸操作系统,但它在所有使用该基本映像的容器之间共享。所有容器都在单个主机操作系统中运行,并且使用容器和命名空间等 Linux 机制相互隔离,而不是位于单独的 VM 中。

这篇Linux 新闻文章很好地说明了 Docker 和 VM 之间的区别。Mirage 采用的方法是使 VM(在左侧图片中)非常小。

简而言之:海市蜃楼缩小;码头工人股份

于 2014-07-08T14:45:26.413 回答
4

免责声明:我不知道外核的概念,只是在维基百科上阅读了它们。但我知道 Docker,这就是我将它组合在一起的方式。

Exokernels提供尽可能少的抽象。它们使应用程序可以直接与机器的硬件进行通信。请参阅http://en.wikipedia.org/wiki/Exokernel

另一个站点上的Docker则完全相反。它是建立在现有操作系统之上的另一种抽象。所以 Docker 不仅抽象了硬件(通过使用 Linux),它还抽象了操作系统,通过在不同的机器上提供相同的环境(例如,你可以在 CentOS 机器上运行一个 Ubuntu 容器)。

所以我会说 Docker 与 exokernels 完全相反。它旨在抽象更多,而 exokernels 似乎走另一条路并尝试尽可能少地抽象。

我看不出两者之间有任何进一步的关系。

于 2014-06-20T16:50:43.143 回答