「Docker」--その正体、そして人気の理由とは?

Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子

2014-08-25 06:00

 データセンターやクラウドといったIT分野に身を置いているのであれば、コンテナという一般名称と、「Docker」というその具体的な製品名称を1年以上にわたって各所で見聞きしてきているはずだ。その話題性は、6月にリリースされたDockerのバージョン1.0でさらに高まっている。


 こういった話題性の高まりは、企業が驚くべきペースでDockerを導入しているせいもある。筆者は7月に開催されたオープンソースカンファレンス「OSCON」に参加して、自社のサーバアプリを仮想マシン(VM)からコンテナに載せ替えている企業が数多くあるのを実感した。実際、Dockerのサービスおよびサポート担当バイスプレジデントのJames Turnbull氏は、同カンファレンスの場で筆者に対して、Dockerを試験的に導入していた最大手の銀行のうち3行が本番環境に移行したと語った。どのような技術であっても、バージョン1.0を本番で使用するという決断はその技術を相当信頼していなければできないことだ。ましてや、安全性を最優先に考える金融業界ではほとんど前例のない話と言える。

 また、Dockerというオープンソース技術は、Red HatCanonicalといった、Linux分野の大手企業からのみ支持を集めているわけではない。Microsoftをはじめとするプロプライエタリな企業もDockerへのサポートを表明している

 ではなぜ各社がコンテナやDockerを好んでいるのだろうか?Parallelsのサーバ仮想化担当の最高技術責任者(CTO)であり、Linuxカーネル開発のリーダーでもあるJames Bottomley氏は、「Hyper-V」や「KVM」「Xen」といったハイパーバイザ型の仮想マシンはすべて「仮想ハードウェアのエミュレーションに基づいている。これはつまり、システムに対する要求が大きなものになることを意味している」と筆者に語っている。

 しかしコンテナの場合、OSはコンテナ間で共有することになる。このためシステムリソースという点から見るとハイパーバイザよりもずっと効率が高くなる。つまり、ハードウェアを仮想化するのではなく、単一のLinuxインスタンス上に複数のコンテナ群を配置するというわけだ。これによって、同氏の言葉を借りると「仮想マシンにつきものの、使い道のない99.9%の無駄な部分を省き、必要なアプリケーションを保持する小さくまとまったカプセルを作り出せるようになる」のである。

 従って、Bottomley氏によると、完全に調整されたコンテナシステムであれば、同一のハードウェア上でXenやKVMのVMを使用する場合に比べると、数にして4〜6倍のサーバアプリケーションインスタンスを実行できるという。

 素晴らしい話ではないだろうか。サーバへの投資を増やさずに、ずっと多くのアプリケーションを動作させられるようになるのだ。では、なぜ今までこういったものがなかったのだろうか?実際のところ、コンテナは新しい考え方ではない。このアイデアは昔からあったのである。

 コンテナというアイデアの源流は、少なくとも2000年の「FreeBSD jail」というメカニズムにまで遡ることができる。Oracleの「Oracle Solaris」も「Oracle Solaris Zones」という同様のアイデアを実現している。ParallesやGoogle、DockerはOpenVZLXC(Linux Containers)といったオープンソースプロジェクトと連携し、コンテナの安全かつ安定した動作を目指してきている。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]