[速報]Dockerが分散アプリケーションのオーケストレーション機能を発表。Docker Machine、Docker Swarm、Docker Compose
Dockerコンテナで構成された分散アプリケーションを自動的に構成し運用するための一連の機能を発表しました。
Docker Machine、Docker Swarm、Docker Composeの3つの機能を組み合わせることで、Dockerの環境がない状態から、Docker環境を構築し、分散アプリケーションのための動的なクラスタを構成し、そこへアプリケーションをデプロイすることがすべてコマンドと構成ファイルによって実行できるようになります。
これによって分散アプリケーションが簡単にクラスタ環境ごとポータブルになり、かつ動的な構成と運用が容易になると説明されています。
Docker Machine
Docker Machineは、仮想マシンやパブリッククラウド、ラップトップマシンといった環境に、コマンド一発で自動的にDocker環境を構築します。
% machine create -d [infrastructure provider] --[access token]
これによりDocker環境が容易にプロビジョニングできるようになります。現在、そのためのドライバをVMware、Amazon Web Services、Microsoft Azureなどと協力して作業中とのこと。
Docker Swarm
Docker Swarmは、Dockerコンテナ上の分散アプリケーションのためのクラスタ環境を構成します。
例えば実行環境として1ギガバイトのメモリ、あるいはストレージに高速なSSDを要求するようなデータベースがある場合、docker runコマンドでそうした実行環境の制約を指定すると、適切なホスト上にその環境を用意してくれます。
また、つねにDockerコンテナのヘルスチェックを行い、万が一コンテナが落ちた場合には自動的にフェイルオーバーを実行。負荷に応じてホストを増減させる機能も備えています。
Docker Compose
Docker MachineでDocker環境が構築され、Docker Swarmでクラスタ環境が構成されると、Docker Composeによって分散アプリケーションを構成する複数のアプリケーションがクラスタ上にデプロイされます。
分散アプリケーションの構成情報はYAMLファイルで指定します。
Docker Machine、Docker Swarm、Docker Composeともまだアルファ版として開発中で、今後さらに機能の追加や変更が行われることになりそうです。
Dockerは同時にDocker Hub Enterpriseも発表しました。
あわせて読みたい
IBMとDockerが戦略的提携。BluemixでもDocker対応の「IBM Containers」が利用可能に
≪前の記事
[速報]Docker Hub Enterprise発表。独自のDocker Hubを設置可能に。マイクロソフト、AWS、IBMらがパートナーとして提供