特集/連載
Dockerと仮想マシンを比較 アプリ開発環境で使うなら?:個々の機能や特性を比べる
仮想マシン(VM)とコンテナには技術的に大きな違いがある。コンテナを選ぶ開発者が多いのは、コンテナの方により整合性があると考えているためだ。
「Docker」を導入したエンジニアは、任意のスタックのインスタンスを迅速にプロビジョニングできることに感心する。やがて、そのエンジニアはふと考える。「これは既に仮想マシン(VM)で経験したことではなかったか」
コンテナによって、アプリケーションのプロビジョニング・導入・移行が素早くできるようになる。だが、スタックのコンテナ化にまつわる基本的な考え方は新しいものではない。信頼性の高いVMなら、コンテナで可能なことを技術的には全て実現できる。例えばスタック全体のコンパートメント化、移植、フルスタックの導入などが可能になる。
開発者の間でVMがコンテナほど普及しなかったのは、VMの提供方法と実際の機能を比べた結果ではないだろうか。つまり、実際には文化面でも技術面でもVMよりコンテナが好まれている可能性がある。
併せて読みたいお薦め記事
コンテナ対仮想マシン
- 仮想マシンとコンテナ 何が違い、どう使い分けるべきか?
- コンテナ vs. 仮想化、クラウドでアプリケーションを構築するならどっち?
- 仮想マシンとコンテナの今後を考える それぞれの強みを生かした運用とは
アプリケーション開発環境の構築
技術面の比較
DockerコンテナとVMの違いを理解するため、まずは技術面を見てみよう。
Copyright © ITmedia, Inc. All Rights Reserved.