コンテナとVMの違いは何ですか
目次:
NS 主な違い コンテナとVMの間は、 コンテナはOSレベルの仮想化を提供し、VMまたは仮想マシンはハードウェアレベルの仮想化を提供します。
仮想化は、仮想オペレーティングシステム、サーバー、ストレージデバイス、またはネットワークリソースを作成するプロセスです。コンテナとVMは2つの仮想化テクノロジーです。両方を使用して、柔軟性を高め、リソース要件を最小限に抑え、機能を最大限に活用できます。
コンテナ、プロセス仮想マシン、システム仮想マシン、VM、仮想化
VMとは
VMは 仮想マシン。これは、コンピューターシステムのエミュレーションです。さらに、VMはコンピューターアーキテクチャに基づいており、物理コンピューターの機能を提供します。これには、専用のハードウェア、ソフトウェア、またはそれらの組み合わせが含まれます。ハイパーバイザーまたは仮想マシンモニターは、VMの作成と実行に使用されます。
図1:仮想化
VMには、システム仮想マシンとプロセス仮想マシンの2種類があります。 NS システム仮想マシン 実機の代替品を提供します。さらに、オペレーティングシステム全体を実行するために必要な機能を提供します。 NS プロセス仮想マシン一方、プラットフォームに依存しない環境でコンピュータプログラムを実行します。さらに、多くのIP部門は、コストを削減し、効率を向上させるため、VMを使用しています。
コンテナとは
コンテナは、アプリケーションを実行するためのすべてで構成されるソフトウェアパッケージです。基盤となるコンピューターを仮想化するVMとは異なり、コンテナーはOSを仮想化します。これは物理サーバーの最上位にあり、そのホストOSは通常WindowsまたはLinuxです。各コンテナは、ホストOSカーネル、バイナリ、およびライブラリを共有します。さらに、コンテナ内の共有コンポーネントのみを読み取ることができます。
図2:Dockerコンテナ
ライブラリなどのOSリソースを共有すると、OSコードを生成する必要性が最小限に抑えられます。したがって、サーバーは1つのオペレーティングシステムのインストールで複数のワークロードを実行できます。さらに、コンテナのサイズはメガバイトです。開始には最小限の時間がかかります。また、開発、テスト、および展開のためのポータブルな操作環境を作成できます。さらに、複数のコンテナを同じコンテナプラットフォーム上で並べて実行できます。
コンテナとVMの違い
意味
コンテナは、アプリケーションを独自のオペレーティング環境でカプセル化することを含む、完全なマシン仮想化の軽量な代替手段です。仮想マシン(VM)は、専用ハードウェアを模倣するソフトウェアにインストールされるオペレーティングシステム(OS)またはアプリケーション環境です。
タイプ
さらに、コンテナは軽量ですが、VMは重量があります。
仮想化
コンテナはOS仮想化を提供し、VMはハードウェアレベルの仮想化を提供します。これがコンテナとVMの基本的な違いです。
オペレーティング・システム
OSはコンテナとVMの大きな違いです。すべてのコンテナはホストOSを共有しますが、各VMは独自のOSで実行されます。
メモリスペース
また、VMはコンテナよりも多くのメモリスペースを必要とします。
起動時間
さらに、コンテナの起動時間はミリ秒単位です。 VMの起動時間は分単位です。
プロバイダー
Moroever、LXC、LXD、CGManager、Dockerはコンテナープロバイダーの例ですが、VMware vSphere、Virtual Box、Hyper –VはVMプロバイダーの例です。
利点
コンテナは、IP管理リソースを削減し、セキュリティ更新を削減および簡素化し、ワークロードを転送、移行、およびアップロードするために最小限のコードを必要とします。 VMは、アプリ、確立された管理およびセキュリティツールで利用可能なすべてのOSリソースを提供します。これは、コンテナとVMのもう1つの違いです。
安全
さらに、セキュリティもコンテナとVMの違いに貢献します。コンテナはプロセスレベルの分離を提供しますが、これは安全性が低くなります。ただし、VMは完全に分離されており、より安全です。
結論
簡単に言うと、コンテナーとVMの主な違いは、コンテナーがOSレベルの仮想化を提供するのに対し、VMはハードウェアレベルの仮想化を提供することです。さらに、ほとんどの企業は、コストを削減し、パフォーマンスを向上させるため、これらのテクノロジーを使用しています。
リファレンス:
1.「仮想マシン」。ウィキペディア、ウィキメディア財団、2018年10月11日、こちらから入手可能2。 "容器。"コンテナ定義、こちらから入手できます。
画像提供:
1. RicoRicoによる「OSとハードウェアの仮想化」– Commons Wikimedia2を介した自社作業(CC0)。 Flickr経由のLinuxスクリーンショット(CC BY 2.0)による「docker」