コンテナ仮想化とは、アプリケーションとその実行に必要な環境を1つのパッケージ(コンテナ)としてまとめ、OS上で隔離して実行する仮想化技術のことです。
従来の仮想マシン(VM)では、各仮想マシンに独自のOSを含むため、リソースの消費が多くなりますが、コンテナ仮想化ではホストOS上で直接実行されるため、より軽量で効率的に動作します。
代表的なコンテナ仮想化のプラットフォームには、以下のものがあります:
Docker: 最も普及しているコンテナ仮想化プラットフォーム。アプリケーションとその依存関係を「Dockerイメージ」としてパッケージ化し、「コンテナ」として実行します。開発環境と本番環境の差異をなくすため、アプリケーションのデプロイを効率化できます。
Kubernetes: コンテナのオーケストレーションツール。複数のコンテナを自動的にデプロイ、スケーリング、管理するためのプラットフォームです。大規模なシステムにおいて、高可用性や負荷分散を容易に実現できます。
LXC(Linux Containers): Linuxのカーネル機能を活用してコンテナを実現する仮想化技術。コンテナ内でOSを動作させることができ、Dockerの基礎技術としても使われています。
コンテナ仮想化の利点には、アプリケーションの移植性、スケーラビリティ、リソースの効率利用が挙げられます。
一度作成したコンテナイメージを使えば、どの環境でも同じようにアプリケーションを動かすことができ、開発からテスト、本番環境へのデプロイまでの一貫性を保つことができます。
また、コンテナは軽量なため、仮想マシンよりも起動が高速で、リソースを効率的に使用できるというメリットがあります。
用語辞典ページに戻る