そろそろ、コンテナー型の軽量仮想化基盤である「Docker」を使ってみるか―。こう考えるエンジニアが急増している。

 期待が高まっているとはいえ、Dockerはバージョン1.0が2014年6月にリリースされてからまだ1年にも満たない新しい技術。いざ利用するにしても、「まずは、何に使えばよいのだろうか」と思案に暮れてしまうだろう。そこでこの記事では、先駆的にDockerを利用している六つの事例を整理する形で、Dockerの使い道を示す。

仮想マシンとの使い分けが重要

 最初に、Dockerがどのようなものなのか把握しておこう。従来の仮想マシンと比べると分かりやすい(図1)。

図1●コンテナーがもたらすDockerのメリット
図1●コンテナーがもたらすDockerのメリット
Dockerはコンテナーという単位でアプリケーションの実行環境を分離する。仮想マシンに比べ、軽量で使い 捨てがしやすいなどのメリットがある
[画像のクリックで拡大表示]

 仮想マシンはホストOS上でハードウエアを仮想的に再現し、そこにゲストOSを導入して動かす。一方、Dockerのコンテナーは、ホストのOSカーネル上でプロセスをグループ化して分離するもの。1組のプロセス群が、独立したサーバーとして機能する。

 仮想マシンはゲストOSを自由に選べる一方で、起動が遅く、処理のオーバーヘッドが大きい。それに比べDockerのコンテナーは、ゲストOS(Linuxカーネル)を選べないものの、軽量で起動が速い。

 加えて、Dockerではテキストファイルにコンテナーの構成を書くだけでサーバーを容易に構築できるので、サーバーを使い捨てても惜しくない。アプリケーションが動作する状態のコンテナーを独自にイメージ化し、複数ユーザーで共有したり、大量のサーバーに配布したりすることも簡単にできる。

 仮想マシンとDockerには、それぞれ一長一短がある。どちらかが一方的に優れているというものではない。それぞれの特徴を踏まえて、用途や目的に応じて使い分けることが重要になる。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。