コンテナとVMの違いは何ですか

目次:

Anonim

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」

コンテナとVMの違いは何ですか