目次
Docker と仮想マシンの違いは何ですか
ホームページ 運用・保守 Docker Docker と仮想マシンの違いは何ですか

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

Aug 29, 2022 pm 04:28 PM
docker

Docker と仮想マシンの違い: 1. Docker は第 2 レベルですぐに起動しますが、仮想マシンは通常起動に数分かかります; 2. パフォーマンスの低下が異なるため、Docker が必要とするリソースは少なくなります; 3. 分離の違い、 docker はプロセス間の分離に属し、分離は弱いですが、仮想マシンはシステムレベルの分離を実現できます。

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

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

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

仮想マシン: 仮想マシンは、ハイパーバイザー (仮想マシン管理システム、一般的なものには VMWare ワークステーションなど) を通じてネットワーク カード、CPU、メモリを仮想化します。 、VirtualBox) 仮想ハードウェアを待ってから、その上に仮想マシンを構築します。各仮想マシンは独立したオペレーティング システムであり、独自のシステム カーネルを持ちます。

コンテナ: コンテナは名前空間を使用してファイル システム、プロセス、ネットワーク、デバイス、その他のリソースを分離し、cgroup を使用してアクセス許可と CPU リソースを制限します。最終的に、コンテナは相互に影響せず、コンテナはホストに影響を与えることはできません。 。

docker の利点

コンテナ上で実行される Docker プログラムは、ホスト マシンのハードウェア リソースを直接使用するため、CPU、メモリ、使用率の点で、Docker は効率の点で大きな利点があります

Docker はホストのシステム カーネルを直接使用するため、仮想マシンの起動時に必要なシステムの起動時間や実行中のオペレーティング システムのリソース消費を回避します。コンテナを数秒以内に実行することは、仮想マシンでは不可能です。 Docker は、迅速な起動と低リソース消費という利点により、弾力性のあるクラウド プラットフォームの自動運用および保守システムにおける優れたアプリケーション シナリオとなっています。

コンテナの起動時間は数秒であるため、開発、テスト、デプロイにかかる時間を大幅に節約できます。もう 1 つの非常に重要な点は、Docker を効率的にデプロイおよび拡張できることです。Docker コンテナは、仮想マシン、物理マシン、パブリック クラウド、プライベート クラウド、パーソナル コンピュータ、サーバーなどを含むほぼすべてのプラットフォームで実行できます。この互換性により、ユーザーは次のことを行うことができます。アプリケーションをあるプラットフォームから別のプラットフォームに直接移行します。

ただし、仮想マシンのセキュリティはコンテナよりも優れており、Docker はカーネルやファイル システムなどのリソースをホストと共有するため、他のコンテナやホストに影響を与える可能性が高くなります。

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

#違い

##1. 起動速度の違い

docker は数秒以内に迅速に起動します。仮想マシンは通常、起動するまでに数分かかります。

2. さまざまなパフォーマンス損失

Docker はより少ないリソースを必要とします。Docker はオペレーティング システム レベルで仮想化します。Docker コンテナーはカーネルと対話し、パフォーマンスの損失はほとんどありません。 . パフォーマンスは、ハイパーバイザー層とカーネル層による仮想化よりも優れています。

3. さまざまなシステム使用率

docker はより軽量です docker アーキテクチャはカーネルと共有アプリケーション ライブラリを共有でき、占有するメモリはほとんどありません。同じハードウェア環境では、Docker は仮想マシンよりもはるかに多くのイメージを実行し、システム使用率が非常に高くなります。

4. さまざまな分離プロパティ

仮想マシンと比較すると、Docker の分離は弱いです。Docker はプロセス間の分離に属し、仮想マシンはシステム レベルの分離を実現できます。 . .

5. 異なるセキュリティ

Docker のセキュリティも弱いです。 Docker のテナント ルートはホスト ルートと同じであり、コンテナ内のユーザーが通常のユーザー権限からルート権限にアップグレードされると、そのユーザーは直接ホストのルート権限を持ち、無制限の操作を実行できます。仮想マシン テナントのルート権限はホストのルート仮想マシン権限から分離されており、仮想マシンはインテルの VT-d や VT-x などのリング 1 ハードウェア分離テクノロジーを利用しています。この分離テクノロジーにより、仮想マシンの突破や相互作用が防止されます。コンテナにはまだハードウェア分離の形式が存在しないため、コンテナは攻撃に対して脆弱になります。

6. 異なる管理性

Docker の一元管理ツールはまだ成熟していません。さまざまな仮想化テクノロジには成熟した管理ツールがあり、たとえば、VMware vCenter は完全な仮想マシン管理機能を提供します。

7. 可用性と回復可能性は異なります

Docker のビジネスに対する高可用性サポートは、迅速な再デプロイメントによって実現されます。仮想化には、実稼働環境でテストされたロード バランシング、高可用性、フォールト トレランス、移行、データ保護などの成熟した保証メカニズムがあり、VMware は仮想マシンの 99.999% の高可用性を約束して、ビジネスの継続性を確保します。

8. 作成と削除の速度は異なります

仮想化の作成には数分かかりますが、Docker コンテナーの作成には数秒かかります。Docker を迅速に反復することで、大幅な節約ができるかどうかが決まります。開発、テスト、展開にかかる時間。

9. 配信速度とデプロイメント速度は異なります

仮想マシンはイメージを通じて一貫した環境配信を実現できますが、イメージ配布を体系的に行うことはできません。Docker はこれを Dockerfile に記録します。コンテナ構築プロセスにより、クラスター内での迅速な配布と迅速なデプロイメントを実現できます。

推奨学習: 「

docker ビデオ チュートリアル

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerコマンドの実行方法 Dockerコマンドの実行方法 Apr 15, 2025 am 11:24 AM

Dockerコマンドを実行する方法は? Dockerをインストールし、デーモンを起動します。一般的なDockerコマンド:Docker画像:表示画像の表示Docker PS:ディスプレイコンテナDocker run:run docker docker stop:Stop Container docker RM RM:Delete container container containerとcontainerとdocker exec:execute command docker adtach:adticle console docker logs:ディスプレイログドッカーのコミット:ミラー停止停止dock

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

docker lnmpの呼び方 docker lnmpの呼び方 Apr 15, 2025 am 11:15 AM

Docker LNMPコンテナコールステップ:コンテナの実行:Docker Run -D - Name LNMP -Container -P 80:80 -P 443:443 LNMPスタックコンテナIPを取得する:Docker Inspect LNMP -Container | GREP iPaddress Access Webサイト:http://< container ip>/index.phpsshアクセス:docker exec -it lnmp -container bash access mysql:mysql -u roo

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

See all articles