[技術解説]

注目集める「Docker」とは? アプリケーションが確実に動く環境を”イメージ”にまとめ自動配備

イノベーションの基盤になるPaaS

2014年12月19日(金)IT Leaders編集部

ここにきてPaaS(Platform as a Service)の領域で注目を集めているのがコンテナ技術の「Docker」。Dockerとは何なのか。「PaaSコンファレンス2014」(主催:インプレス)の特別講演に登壇したレッドハットのクラウドエバンジェリストである中井悦司氏の講演から、Dockerの概要をまとめる。

写真:「PaaS カンファレンス2014」(主催インプレス)の特別講演でDocker について解説する中井 悦司レッドハット グローバルサービス本部 シニアソリューションアーキテクト写真:「PaaS カンファレンス2014」(主催インプレス)の特別講演でDocker について解説する中井 悦司レッドハット グローバルサービス本部 シニアソリューションアーキテクト

 PaaS(Platform as a Service)領域で、にわかに耳目にするようになったキーワードの1つが「Docker」である。世間では一般的にコンテナ技術の括りで解説されている。だが、それらの関係を誤認しているケースも少なからずある。

 Dockerはもともと、パブリックPaaSを提供していた北米のdotCloudのエンジニアが、自社のPaaS基盤を効率化するために開発したものだ。同社が2013年にDockerをオープンソースとして公開すると、その有効性が高く評価され、たちまち広まった。

 これを受けて同社は、2014年に社名を「Docker, Inc.」に改め、PaaSのサービスを提供するのではなく、Dockerを組み込んだ製品やサポートを提供する企業へと生まれ変わった。

OS/ライブラリ/フレームワーク…
実行環境を「コードイメージ」に

 Dockerは、PaaS環境をどのように効率化するのか。そもそもPaaSは、ユーザーが開発したコードをクラウド上にプッシュしさえすればアプリケーションを確実に稼働できる環境を提供するサービスとして期待されてきた。

 しかし実際には、アプリケーションは実行環境と密接に結び付いている。必要なフレームワークやライブラリがなかったり、それらのバージョンが異なっていたりすることが原因で不具合、すなわち想定通りに動かない事象が発生することが多々ある。こうした状況のことをITエンジニアの世界では、「悪魔は細部に宿る」と呼んでいる。

 dotCloudは当初、こうした問題に個別対応して実行環境を整えていた。しかし、それではあまりにも効率が悪い。そこでアプリケーションを稼働させるのに必要な環境を自動的にビルドする仕組みを考え出した。それが、Dockerである。

 Dockerを使うと、アプリケーションの実行環境を「Dockerイメージ」として自動生成できる(図1)。これは、OSやライブラリ、フレームワークなど、アプリケーションの実行時に必要な要素のすべてを“コードイメージ”としてパッケージングしたものだ。

図1:Docker が提供する基本機能図1:Docker が提供する基本機能
拡大画像表示

 「このDockerイメージをDockerサービスを搭載したサーバー上に配布することにより、確実に動作する実行環境を自在に展開することが可能になる」(中井氏)。こうした仕組みを実装するために、dotCloudがたまたま行き着いたのが、Linuxコンテナ技術だったということになる。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
関連キーワード

Red Hat / コンテナ / Docker / Kubernetes / PaaS

関連記事

トピックス

[Sponsored]

注目集める「Docker」とは? アプリケーションが確実に動く環境を”イメージ”にまとめ自動配備ここにきてPaaS(Platform as a Service)の領域で注目を集めているのがコンテナ技術の「Docker」。Dockerとは何なのか。「PaaSコンファレンス2014」(主催:インプレス)の特別講演に登壇したレッドハットのクラウドエバンジェリストである中井悦司氏の講演から、Dockerの概要をまとめる。

PAGE TOP