PR

Dockerが注目されている理由を探る

2014年12月2日(火)
佐藤 司森元 敏雄

Dockerとは

Dockerとは、Docker社が開発しているオープンソースのコンテナ型仮想化ソフトウェアである。Linux上でLXC(Linux Container)の技術を活用し、コンテナ型の仮想環境を作成するものだ。

Dockerの主な特徴は、以下の通りである。

  1. コンテナはカーネル部分をベースのOSと一部共有するため、リソース使用量が非常に少ない
  2. Docker社が用意しているリポジトリ(DockerHub)に、構築済みのコンテナイメージがあるので、構築作業が不要
  3. コンテナの作成からプロダクトのインストール・設定するまでの手順を、“Dockerfile”というテキストファイルに定義できる(インフラのコード化)。このDockerfileを用いることで、Dockerが導入されている環境であればどこであっても、準備した環境を稼働させられるため携帯性が高くなる。

これらの特徴からDocker環境では一台のサーバで多数のコンテナを同時に実行したり、実行していたコンテナを別環境で稼働させたりすることが可能だ。

サーバ仮想化方式ごとの特徴比較

コンテナ型の仮想化と、ハイパーバイザ型やホスト型の仮想化とは、どのような点が異なるのだろうか。まずは仮想化の方式の違いから見ていこう。

表1:仮想化方式の違い

コンテナ型仮想化
(Docker)
ハイパーバイザ型仮想化
(VMWare ESXi)
ホスト型仮想化
(Linux KVM)
仮想マシンOS部分を一部ホストOSと共有するため、VMごとにOSインストールをする必要はないVMごとにOSをインストールする必要があるVMごとにOSをインストールする必要がある
稼働OSの種類Linuxのみ稼働可能
Windowsは現状稼働しない
Windows、Linux、一部のUnixも稼働可能Windows、Linux、一部のUnixも稼働可能
利用開始までの時間OSインストール不要のため、利用開始までの時間が短い初回構築時にはネットワーク・OSインストール等の作業が発生するため、利用開始までの時間が長い初回構築時にはネットワーク・OSインストール等の作業が発生するため、利用開始までの時間が長い
ネットワーク標準では、ホスト側に作成されたDocker専用のNICとしか通信出来ないネットワークの作成が可能で、VMにも任意の数のvNICを付与可能ネットワークの作成が可能で、VMにも任意の数のvNICを付与可能
リソース標準ではHDDリソースの指定が出来ない。CPU、メモリについてはリソース割り当て上限を指定可能CPU、メモリ、HDDのリソースについて割り当てを指定する必要があるCPU、メモリ、HDDのリソースについて割り当てを指定する必要がある
オーバーヘッドコンテナはホストOSから見ると単一のプロセスであり、オーバーヘッドはほぼないVMから機器までのアクセス経路がハイパーバイザのみなので、ホスト型仮想化に比べるとオーバーヘッドは少ないVMから機器までのアクセス経路が他の仮想化技術に比べ長いため、比較した場合には一番オーバーヘッドが大きくなる

各方式の特徴は、以下の通りだ。

コンテナ型仮想化

コンテナ型仮想化は、ホストOS上でコンテナプロセスが実行されており、その上にコンテナが立ち上がってアプリケーションが実行される。他の方式との相違点として、コンテナはホストOSから見ると一つのプロセスとして認識されている点が挙げられる。またコンテナは、ホストOSのカーネル部分を共有するため、各コンテナにはOSは導入されていない。

ハイパーバイザ型仮想化

ハイパーバイザ型仮想化は、独自の仮想化管理ソフトであるハイパーバイザをサーバへ直接導入し、サーバ全体を仮想化に利用する。仮想環境上のアプリケーションからサーバまでの経路がホスト型仮想化製品よりも短いため、高いレスポンスが得られる。立ち上げられるVM数は、コンテナと比較すると少なくなる。

ホスト型仮想化

ホスト型仮想化は、ホストOS上で仮想化ソフトを実行させ、その上にゲストOSを稼働させる。ここで取り上げる3種の仮想化の中では一番オーバーヘッドが高くなる傾向にあるが、ホストOS上で直接実行しているアプリと並行利用できるため、個人環境での利用に人気がある。

各サーバ仮想化の実装方式を図で表すと、以下のようになる。図中の緑色の範囲が、仮想化の範囲である。

サーバ仮想化の実装方式(クリックで拡大)

株式会社アーベルソフト

インフラ基盤の設計・構築・運用までの全ての工程を担当。最近は、OSS製品を活用したインフラ基盤の提供を行っている。利用するOSS製品の調査・研究も行っており、現在は、DockerとTerraformに注目している。
>株式会社アーベルソフト

TIS株式会社

R&D部門である戦略技術センター所属。
金融系の大規模システム開発やプライベートクラウド開発環境の構築・運用の経験を生かし、OSS製品を中心としたの技術調査・検証を担当。
> TIS株式会社

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています