ホームページ  >  記事  >  運用・保守  >  vm仮想マシンとdockerの違いは何ですか

vm仮想マシンとdockerの違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-11-29 11:33:4115581ブラウズ

違い: 1. Docker コンテナはプロセスベースの分離を提供しますが、VM 仮想マシンはリソースの完全な分離を提供します; 2. Docker はホスト オペレーティング システムのカーネルを使用しますが、VM 仮想マシンは独立したカーネルを使用します; 3 , Dockerの起動速度は秒レベル、VMは分レベル; 4. Dockerの統合はVMよりも優れています。

vm仮想マシンとdockerの違いは何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1&&VMware Workstation16.0.0.16894299 バージョン、Dell G3 コンピューター。

#Docker と VM 仮想マシンの違い

1. 本質的な違い:

VM (VMware) は、ホスト マシンとホスト マシンのオペレーティング システムに基づいて仮想レイヤー、仮想化オペレーティング システム、および仮想ウェアハウスを作成し、アプリケーションをインストールします。

Container (Docker コンテナ) は、ホスト マシンとホスト マシンのオペレーティング システム上に Docker エンジンを作成し、そのエンジンに基づいてアプリケーションをインストールします。

Docker コンテナはプロセスベースの分離を提供しますが、VM 仮想マシンはリソースの完全な分離を提供します。コンテナはホスト オペレーティング システムのカーネルを使用しますが、仮想マシンは別のカーネルを使用します。

2. 使用上の違い:

サイズ:

1. 仮想マシンの Ubuntu 占有率 メモリ: ## Dockerは、ホストマシンのOS上にDockerエンジンを作成し、OSやハードウェアリソースを仮想化するのではなく、ホストマシンのOS上のハードウェアリソースを直接呼び出すため、動作速度が速いです。

これは実際に ubuntu 仮想マシンをインストールし、Docker ubuntu イメージ ファイルをプルします。実行するとわかります。違いは明らかです。Docker の起動速度は 2 番目のレベルにあり、VM は 2 番目のレベルにあります。分レベル: 仮想 コンピューターの起動には 2 分以上かかりますが、Docker の場合は 2 秒しかかかりません。

統合:

Docker の統合は VM よりも優れています。

Docker の機能

1)

すぐに始められます


ユーザーはわずか数分でプログラムを「Docker化」できます。 Docker は「コピーオンライト」モデルを採用しているため、アプリケーションの変更が非常に速く、「勝手にコードが変更される」という領域に達していると言えます。

その後、アプリケーションを実行するコンテナを作成できます。ほとんどの Docker コンテナは 1 秒以内に起動します。ハイパーバイザーのオーバーヘッドが除去されるため、Docker コンテナーは高いパフォーマンスを発揮すると同時に、より多くのコンテナーを同一ホスト上で実行できるため、ユーザーはシステム リソースを最大限に活用することができます。

2)

責任の論理的分類

Docker を使用すると、開発者はコンテナ内で実行されているアプリケーションのみを考慮する必要があり、運用および保守担当者はコンテナ内で実行されているアプリケーションのみを考慮する必要があります。コンテナの管理方法。 Docker の設計の目的は、開発者がコードを作成する開発環境とアプリケーションがデプロイされる運用環境の間の一貫性を強化することです。これにより、「開発中はすべて正常です。運用と保守の問題に違いありません (テスト環境は正常です。オンライン化後に問題が発生した場合は、運用と保守の問題に違いありません)」というような事態が軽減されます。

3)

高速かつ効率的な開発ライフ サイクル

Docker の目標の 1 つは、開発、テストからデプロイメント、オンライン運用までのコード サイクルを短縮し、アプリケーションを移植可能にすることです。構築が簡単で、共同作業も簡単です。 (平たく言えば、Docker は多くのオブジェクトを含めることができる箱のようなものです。これらのオブジェクトが必要な場合は、箱から 1 つずつ取り出すことなく、大きな箱から直接取り出すことができます。)

#4 )

サービス指向アーキテクチャの使用を奨励する

Docker は、サービス指向アーキテクチャとマイクロサービス アーキテクチャも奨励します。 Docker は、単一のコンテナーで 1 つのアプリケーションまたはプロセスのみを実行することを推奨しており、分散アプリケーション モデルを形成します。このモデルでは、アプリケーションまたはサービスは、内部的に相互接続された一連のコンテナーとして表すことができるため、分散デプロイメントが可能になります。アプリケーション、アプリケーションの拡張、またはデバッグが可能になります。非常にシンプルになると同時に、プログラムのイントロスペクションも改善されます。 (もちろん、1 つのコンテナーで複数のアプリケーションを実行できます) 推奨される学習: 「

docker ビデオ チュートリアル

以上がvm仮想マシンとdockerの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。