違い: 1. Docker コンテナはプロセスベースの分離を提供しますが、VM 仮想マシンはリソースの完全な分離を提供します; 2. Docker はホスト オペレーティング システムのカーネルを使用しますが、VM 仮想マシンは独立したカーネルを使用します; 3 , Dockerの起動速度は秒レベル、VMは分レベル; 4. Dockerの統合はVMよりも優れています。
このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1&&VMware Workstation16.0.0.16894299 バージョン、Dell G3 コンピューター。
1. 本質的な違い:
VM (VMware) は、ホスト マシンとホスト マシンのオペレーティング システムに基づいて仮想レイヤー、仮想化オペレーティング システム、および仮想ウェアハウスを作成し、アプリケーションをインストールします。Container (Docker コンテナ) は、ホスト マシンとホスト マシンのオペレーティング システム上に Docker エンジンを作成し、そのエンジンに基づいてアプリケーションをインストールします。
サイズ:
1. 仮想マシンの Ubuntu 占有率 メモリ: ## Dockerは、ホストマシンのOS上にDockerエンジンを作成し、OSやハードウェアリソースを仮想化するのではなく、ホストマシンのOS上のハードウェアリソースを直接呼び出すため、動作速度が速いです。
これは実際に ubuntu 仮想マシンをインストールし、Docker ubuntu イメージ ファイルをプルします。実行するとわかります。違いは明らかです。Docker の起動速度は 2 番目のレベルにあり、VM は 2 番目のレベルにあります。分レベル: 仮想 コンピューターの起動には 2 分以上かかりますが、Docker の場合は 2 秒しかかかりません。
統合:
Docker の統合は VM よりも優れています。 Docker の機能1)
すぐに始められます責任の論理的分類
Docker を使用すると、開発者はコンテナ内で実行されているアプリケーションのみを考慮する必要があり、運用および保守担当者はコンテナ内で実行されているアプリケーションのみを考慮する必要があります。コンテナの管理方法。 Docker の設計の目的は、開発者がコードを作成する開発環境とアプリケーションがデプロイされる運用環境の間の一貫性を強化することです。これにより、「開発中はすべて正常です。運用と保守の問題に違いありません (テスト環境は正常です。オンライン化後に問題が発生した場合は、運用と保守の問題に違いありません)」というような事態が軽減されます。 3)高速かつ効率的な開発ライフ サイクル
Docker の目標の 1 つは、開発、テストからデプロイメント、オンライン運用までのコード サイクルを短縮し、アプリケーションを移植可能にすることです。構築が簡単で、共同作業も簡単です。 (平たく言えば、Docker は多くのオブジェクトを含めることができる箱のようなものです。これらのオブジェクトが必要な場合は、箱から 1 つずつ取り出すことなく、大きな箱から直接取り出すことができます。)#4 )
サービス指向アーキテクチャの使用を奨励するDocker は、サービス指向アーキテクチャとマイクロサービス アーキテクチャも奨励します。 Docker は、単一のコンテナーで 1 つのアプリケーションまたはプロセスのみを実行することを推奨しており、分散アプリケーション モデルを形成します。このモデルでは、アプリケーションまたはサービスは、内部的に相互接続された一連のコンテナーとして表すことができるため、分散デプロイメントが可能になります。アプリケーション、アプリケーションの拡張、またはデバッグが可能になります。非常にシンプルになると同時に、プログラムのイントロスペクションも改善されます。 (もちろん、1 つのコンテナーで複数のアプリケーションを実行できます) 推奨される学習: 「
docker ビデオ チュートリアル」
以上がvm仮想マシンとdockerの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。