2016-07-23 6 views
0

最初にDocker for Linuxは、ネームスペースのcgroupプリミティブを利用して、Linuxプラットフォーム上でコンテナ化ソリューションを提供しました。ドッカープロセスを拘留するためにLXC以降をrunCに使用しました。彼らはMac/Windows上のドッカーのサポートを拡大しているが、仮想化よりもコンテナ化を使用するという目的をはるかに上回る、控えめな回避策を講じているようだ。Docker ToolboxまたはDocker for Macは、仮想化ソリューションよりも有益ですか?

boot2dockerドッカーコンテナをホストするLinux(Tiny Coreの削除版をベースにしています)。 boot2dockerはOracle VirtualBox上で動作します。

Docker for Mac OS XでアルパインLinuxを実行するYosemiteのネイティブ仮想化をHypervisor frameworkと呼びます。インターフェイスは、xhyve(OS Xポートはbhyve)の上に構築されたHyperkitによって実現されます。従来のVM上(一般、コンテナ内)

ドッカーを使用して後ろreasonのWindows 10上のHyper-V仮想化フレームワークに

Docker for Windowsランは無視できるオーバーヘッドとネイティブに近い性能です。コンインナーは、軽量でなければならない。

コンテナは仮想マシンとどのように比較されますか?

これらは相補的です。 VMは、 ハードウェアリソースのチャンクを割り当てるのに最適です。コンテナはプロセスレベルで動作します。 は、ソフトウェアの単位として非常に軽量で完璧です。 配送

Mac/Windowsの両方のDockerは、シーンの背後にある仮想化テクノロジに依存しているため、これらのプラットフォームでドッカーを使用しても関連性は維持されていますか?コンテナ化をエミュレートするために仮想化を使用しないことは、ドッカーフレームワークに切り替えるという目的全体を打ち破っていますか?ちょっとしたこととして、このarticleも私の考えを支えています。

答えて

2

Mac/Windowsの両方のDockerは、シーンの背後にある仮想化テクノロジに依存しているため、これらのプラットフォームでドッカーを使用しても関連性は維持されていますか?

もちろんです。これらのプラットフォームで完全なネイティブコンテナのサポートが保留されていても、サービス発見、オーケストレーション(kubernetes/swarm)、監視など、ドッカーの主な利点があります。

これらのサービスは、個々のVMと同じようにコンテナとしての拡張が容易です。

コンテナ化をエミュレートするために仮想化を使用しても、ドッカーフレームワークに切り替えるという目的はありませんでしたか?

なしので、ドッキングウィンドウのフレームワークなしで、あなたはすべてあなたのサービスが分離し、個々のアップグレードの恩恵なしに、生きていることになるで VMで残っていないことになります。

+0

"ドッカーフレームワークなしでは、すべてのサービスが生き残る必要のある1つのVMが残っているからです... - VMごとに1つのサービスの単純なソリューションを適応させると、どのような問題が発生するのでしょうか? –

+0

@ Holmes.Sherlockこれは、CPU、メモリ、ディスクのすべての問題を解決します。サービスの各部分は、あなたのVMの中には何か他のものがあります*複数のワーカーやhttpウェブサーバーのように、サービス内の同じコンポーネントの複数のインスタンスをswpan upすることは簡単にできません。 – VonC

関連する問題