9

Docker は MirageOS のようなエクソカーネル アプローチとどのように関連していますか?

MirageOS の詳細については、次を参照してください。

4

2 に答える 2

6

それは非常に異なっています。

Mirage は仮想マシン上のアプリケーションを効果的に取得し、アプリケーションに必要なシステムの部分だけを残すように削除します。その結果、ハイパーバイザーのみを実行する必要がある非常に小さな VM が作成されます。VM のように他のすべてのマシンから分離されているため、それぞれが独自のマシンです。

Docker は、union ファイルシステムを使用して可能な限り共有することでリソースを節約します。写真にはまだフルサイズのオペレーティング システムが少なくとも 1 つありますが、その基本イメージを使用するすべてのコンテナー間で共有されています。すべてのコンテナーは、単一のホスト オペレーティング システム内で実行され、個別の VM ではなく、コンテナーや名前空間などの Linux メカニズムを使用して互いに分離されています。

このLinux News articleには、Docker と VM の違いがよくわかります。Mirage が採用したアプローチは、VM (左側の図) を非常に小さくすることです。

要するに: Mirage は縮小します。Docker 共有.

于 2014-07-08T14:45:26.413 に答える
4

免責事項: 私はエキソカーネルの概念を知らず、ウィキペディアでそれらについて読んだだけです。しかし、私は Docker を知っており、これが私がそれをまとめる方法です。

エキソカーネルは、可能な限り抽象化を減らします。アプリケーションがマシンのハードウェアと直接通信できるようにします。http://en.wikipedia.org/wiki/Exokernelを参照してください。

他のサイトのDockerはまったく逆です。これは、既存のオペレーティング システムの上に構築された別の抽象化です。したがって、Docker は (Linux を使用して) ハードウェアを抽象化するだけでなく、異なるマシンに同じ環境を提供することでオペレーティング システムも抽象化します (たとえば、CentOS マシンで Ubuntu コンテナーを実行できます)。

したがって、Docker はエクソカーネルとは正反対です。それはより多くの抽象化を目指していますが、エキソカーネルは逆の方向に進み、可能な限り抽象化しないようにしています。

両者の間にそれ以上の関係は見られません。

于 2014-06-20T16:50:43.143 に答える