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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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