Docker コンテナと仮想マシンの違いは何ですか?

Docker コンテナと仮想マシンの違いは何ですか?

Dockerが解決する主な問題

バックエンド開発の経験がある学生は、次のような問題に遭遇したことがあるはずです。

プログラムは開発環境では正常に実行されますが、運用環境にデプロイすると頻繁に失敗します。

プログラムを顧客の環境に展開する必要があるとします。自社の環境では正常にデプロイおよび検証されているものの、顧客の環境では必要なライブラリ ファイルが不足していたり​​、一部のファイルのバージョンが要件を満たしていないのではないかと常に心配しています。

さて、docker を使用すると、これらの問題は発生しなくなります。

Dockerとは

Docker は、実行可能ファイル、構成ファイル、その他必要なすべてのファイルをこのコンテナーにパッケージ化し、任意のプラットフォームに公開して適用できる仮想環境コンテナーです。たとえば、Python を使用して Web サイトのバックエンドをローカルで開発するとします。開発とテストが完了したら、Python3 とその依存パッケージ、Flask とその各種プラグイン、Mysql、Nginx などをコンテナにパッケージ化し、任意の環境にデプロイできます。

わかりにくい場合は、コンテナを例に挙げてみましょう。

コンテナはどのような問題を解決しますか?大型船では、荷物をきちんと並べることができます。さらに、さまざまな商品がコンテナによって標準化され、コンテナ同士が影響を与えることもありません。そうすれば、果物を輸送するための船や化学物質を輸送するための船は必要なくなります。商品がコンテナにしっかりと梱包されていれば、大きな船で輸送することができます。

Docker にも同様の概念があります。 1 台のマシン上で複数の無関係な Docker コンテナを実行でき、各コンテナはコンテナと同等です。

Dockerにおけるいくつかの基本概念

画像は静的ファイルの集まりとして理解できる

  • 容器

コンテナは、実行後のイメージのインスタンスです。コンテナに対するイメージは、オブジェクト指向プログラミングにおけるオブジェクトに対するクラスと同じようなものです。

  • 倉庫

画像は保管する場所が必要であり、その場所が倉庫です

従来の仮想化との違い

ここでは、従来の仮想化について説明します。

従来の仮想化は、ハードウェアの物理リソースに基づいて複数の OS を仮想化し、OS に基づいて比較的独立したプログラム実行環境を構築することがわかります。一方、Doccer は OS に基づいて仮想化されています。明らかに、Doccer ははるかに軽量であるため、リソースの占有とパフォーマンスの消費は従来の仮想化に比べて大きな利点があります。

テクノロジー シルバーフォックス

CCTV.com シニアエンジニア 04-13 01:37

私は長年IT業界で働いてきましたが、時代が物理サーバーから仮想化されたクラウドコンピューティングの時代へと移り変わり、そして今、Docker時代へ入ろうとしています。次世代の仮想化テクノロジーとして、Docker は業界全体のアプリケーションの開発、テスト、展開の方法を変えています。仮想化技術とDocker技術の違いについては、以下で分析してみましょう。

01 仮想化とは何ですか?

名前が示すように、仮想化テクノロジーとは、何らかのテクノロジーを使用して物理リソースをリソース プールに仮想化することです。主な形式は 2 つあります: 1 つの仮想対多と複数の仮想対 1 です。たとえば、Vmware ソフトウェアをパソコンにインストールすると、他の Win システム、MacOS、Linux システムなどをこのソフトウェアにインストールできるため、1 台のパソコン/ラップトップで複数のシステムを実行できるという利点が得られます。現在、Apple ノートブック ユーザー向けのデュアル システム ソリューションも、主に仮想マシンに基づいています。一般的な Windows ユーザーには需要があまりないかもしれませんが、技術者にとっては基本的に必須のソフトウェアです。

企業の観点から見ると、複数の仮想対 1 が主な形式であり、これは多数の物理サーバー クラスターを仮想化してリソース プールを形成し、このリソース上にさまざまな仮想マシンを作成して柔軟な展開を実現することを意味します。

02 Dockerとは

実際、Docker と仮想技術は非常に似ていますが、いくつかの違いもあります。一方、2 つのテクノロジのレベルでは、仮想マシンは一般に基盤となるハードウェアによってサポートされ、上位層は仮想管理システムのハイパーバイザー層です。上位層ではさまざまな VM サービスが有効になります。これらのサービスを分離する必要がある場合、各 VM はクライアント オペレーティング システムを起動する必要があり、大量のリソースが消費されます。

Docker はまったく異なります。基盤となるレイヤーは、ハードウェアと Windows/MacOS/Linux などのホスト OS システムによってサポートされます。中央の肥大化したシステムは破棄され、Docker デーモン プロセスに置き換えられます。上位層には異なるコンテナが確立され、異なるアプリケーション イメージは互いに分離された異なるコンテナにパッケージ化されます。

03 仮想化とDockerの違い

Docker は設計がコンパクトで、展開と移行が速く、操作が効率的で、互いに独立しています。管理者はすべてのコンテナの内容を見ることができます。仮想化技術は比較的肥大化しています。アプリケーションに関係なく、最初に新しいシステムを作成する必要があります。さらに、アプリケーションではなくシステムごとに分離されます。管理者はシステムの内部情報を見ることができません。

たとえば、Docker は携帯電話のさまざまなアプリです。必要なアプリケーションをダウンロードするには 1 つのシステムだけが必要ですが、仮想化テクノロジーは Apple の携帯電話に巨大なソフトウェアをインストールするのと同じです。このソフトウェアは、Android システム、Meizu システムなどにインストールされており、各システムにさまざまなアプリケーションをインストールする必要があり、さらに面倒です。

しかし、両者の間に絶対的な善悪はありません。主にアプリケーションのシナリオによって異なります。さまざまなニーズに応じてさまざまなソリューションを選択できます。

<<:  マルチクラウド環境を展開するための4つのステップ

>>:  メモリ仮想化は具体的にどのように機能するのでしょうか?

推薦する

インターネットセレブブランドのマーケティングとプロモーションの実践ガイド!

ハードコアネットセレブ(融合派)は、従来の派閥やネットセレブ派閥とは異なります。熱狂的なインターネッ...

ウェブサイトの内部と外部の問題を解決することで、最適化は無敵になります

私が開設して1年以上経った石家荘証券ネットワークは、すでに運営されています。この1年間で、ウェブサイ...

DevOps 実装の核心と 13 の経験のまとめ

前回の記事では、Devops の概念と、Devops を適用することで企業がもたらすメリットについて...

ウェブサイトのコアキーワードを最適化する鍵は、ロングテールキーワードの選択にあります。

ウェブサイトにはコアキーワードが必要です。通常、コアキーワードは 1 つまたは 2 つしかありません...

多様化する検索ニーズの中でSEOとして何をする必要があるのでしょうか?

多様化した検索ニーズは、実は非常に単純な概念です。同じキーワードを検索するとき、ユーザーによって意図...

Lu Songsong のブログにおける SEO 外部リンクの役割

「2011年、SEOは『外部リンクの掲載』となり、オンラインプロモーションは『外部リンクの掲載』とな...

【クラウドネイティブ】K8s PodスケジュールドエラスティックスケーリングCronhpaの導入と実践運用

1. 概要実際、ネイティブ HPA は時間ポイントに基づくスケーリングをサポートしていません。リソー...

ウェブサイトに価値ある外部リンクを作成する方法についての簡単な説明

外部リンクの投稿は、すべてのウェブサイト最適化の専門家が行うべきことの 1 つです。外部リンクを投稿...

ウェブサイトのホームページで「画像回転」を使用すると、なぜコンバージョン率が高くならないのでしょうか?

編集者注: マーケティングは常に謎に包まれています。できるだけ多くの製品情報を顧客に見せるために複数...

ネットクリーニングキャンペーンが企業ウェブサイトの最適化に及ぼす影響の分析

5月は過酷な月だ。天気はますます暑くなり、Baiduのウェブ検索品質に関するホワイトペーパーの発表を...

ウェブサイトを過度に最適化すると、ウェブサイトの評価が下がる可能性があります。

ウェブサイトを過度に最適化すると、ウェブサイトのランクが下がる可能性があります。このトピックは、一部...

ロンドンオリンピックのオリンピック選手の精神から生まれたSEOの精神

最近、誰もが最も関心を持っている話題は、2012年のロンドンオリンピックです。検索エンジンのロゴも「...

パフォーマンスが160%向上しました!アリババクラウド、第7世代ECS、クラウドネイティブデータベースPolarDB-Xなど主要新製品をリリース

アリババクラウドは6月9日、第7世代ECS、POLARDB-Xデータベース、ビジュアルインテリジェン...

VMware が新たなエコシステムの構築に向けて Cloud Harbor を立ち上げ

天国にも地獄にもスープの入った鍋があり、誰もが自分の腕よりも長いスープスプーンを持っています。しかし...