Dockerがイメージ管理や分散アプリケーション管理自動化を推進する機能を発表。アルファ版やプレビュー版だが、既に複数のクラウドサービスプロバイダーが対応を表明している。
Dockerは、Dockerコンテナで構成された分散アプリケーションを自動的に構成し運用するための一連の機能を発表、併せてエンタープライズ向けのリポジトリ管理ソフトウェア提供も発表した。同日には米IBMがDockerとの戦略的提携を発表している。
また、直前の2014年12月1日にはCoreOSが現在のDockerとは異なる設計のコンテナーランタイム「Rocket」のプロトタイプを公開しており、アプリケーションポータビリティを巡る話題が増えている。
今回Dockerが発表したのは「Docker Machine」「Docker Swarm」「Docker Compose」の3つ。これらの機能を組み合わせることで、Dockerの環境がない状態から、Docker環境を構築し、分散アプリケーションのための動的なクラスタを構成し、そこへアプリケーションをデプロイするまで、全てコマンドと構成ファイルによって実行できるようになる。Dockerでは、これらによって分散アプリケーションが簡単にクラスター環境ごとポータブルになり、かつ動的な構成と運用が容易になると説明している。以下、それぞれの機能を見ていく。
Docker Machineは、仮想マシンやパブリッククラウド、ラップトップマシンといった環境に、コマンド操作で自動的にDocker環境を構築する。具体的には次のようなコマンド操作だ。これによりDocker環境が容易にプロビジョニングできるようになる。
% machine create -d [infrastructure provider] --[access token]
現在、この機能を実現するためのドライバーをヴイエムウェア、Amazon Web Services(AWS)、米マイクロソフト(Microsoft Azure)などと協力して作業中だとしている。
Docker Swarmは、Dockerコンテナ上の分散アプリケーションのためのクラスタ環境を構成する。例えば実行環境として1Gバイトのメモリ、あるいはストレージに高速なSSDを要求するようなデータベースがある場合、docker runコマンドで実行環境の制約を指定すると、適切なホスト上にその環境を用意する機能を提供する。
また、常にDockerコンテナのヘルスチェックを行い、万が一コンテナが落ちた場合には自動的にフェイルオーバーを実行し、負荷に応じてホストを増減させる機能も備えている。
Docker MachineでDocker環境が構築され、Docker Swarmでクラスター環境が構成されると、Docker Composeによって分散アプリケーションを構成する複数のアプリケーションがクラスター上にデプロイされる。分散アプリケーションの構成情報はYAMLファイルで指定する。
Docker Machine、Docker Swarm、Docker Composeともまだアルファ版として開発中で、今後さらに機能の追加や変更が行われることになるという。
Dockerはまた、Dockerイメージのリポジトリ管理機能などを備えた「Docker Hub」をユーザーが独自に設置できる「Docker Hub Enterprise」を発表した。
Docker HubはDockerコンテナのイメージを保存し、共有することができるインターネット上の公式サービス。保存した内容をプライベートに利用することや、不特定多数のユーザーに公開できる。今回発表したDocker Hub Enterpriseは、このDocker Hubサービスを企業などが自分たちの環境用に独自に設置できるようにするものだ。
Docker Hub EnterpriseはDocker認定パートナーであるIBM、マイクロソフト、Amazon Web Servcesから提供予定。IBMはオンプレミスもしくはクラウドサービスとして、マイクロソフトはMicrosoft Azureのマーケットプレイスを通じて仮想マシンイメージで、Amazon Web ServcesはAWS Test Driveなどを通じて提供予定です。
Docker Hub Enterpriseは現在開催中のDockerCon EUでプレビューが公開され、2015年2月に製品化する見通し(価格は未定)。
Copyright © ITmedia, Inc. All Rights Reserved.