12月4日にアムステルダムで開催されたDockerCon EuropeカンファレンスでDocker, Inc.が,一連の新機能を披露した。最初に紹介したのは,マルチコンテナ分散アプリケーションの管理を可能にするプラットフォーム拡張だ。Dockerを使って,複数のコンテナやホストにまたがって動作するアプリケーションをデプロイする開発者が増えている。このような分散アプリケーションの編成には,インフラストラクチャを越えて動作する共通UIとツーリングを備えた,ネイティブなマルチコンテナ,マルチホストのアプローチが必要だ。今回紹介されたDockerの編成機能は,既存のDocker Engineを基盤として構築されている。各機能は,DevOpsで行うべきタスクに合わせて,分散アプリケーションのダイナミックなライフサイクルをすべての面でカバーするように設計された,3つの新しいプラットフォームサービスを通じて提供される。Docker, Inc. によると,これらの機能は,すべてが "取り外し可能なバッテリを装備するような"設計思想を持っている。つまり,サードパーティのサービスと連携可能なようにデザインされているのだ。これによってユーザには,Dockerのネイティブなオーケストレーションツールに加えて,コミュニティの提供する代替品が,選択肢として提供されることになる。
新たな3つのオーケストレーションサービスは,次のものだ。
Docker Machine: このサービスは,さまざまな環境において,Docker Engineの動作するホストのプロビジョニングを容易にする。これにより,Docker Engineの動作するホストマシンをラップトップやデータセンタVM,あるいはクラウドノード上に,迅速にローンチできるようになる。さらに,Dockerデーモンとクライアントをインストールや設定するためにホストにログインする,という作業も不要になる。現在はまだアルファ版だが,ローカルではVirtualBox上で,リモートではDigital Oceanインスタンス上で,Dockerのプロビジョニングがサポートされている。AWS, AZure, VMwareなどのインフラストラクチャも,将来的にはサポートされる予定だ。興味のある開発者は,githubリポジトリで公開されているサービスを試してほしい。
Docker Swarm: Docker SwarmはDocker Engineと連携して動作する,Dockerネイティブなクラスタサービスである。新サービスであるDocker Machineによってプロビジョニングされ,分散アプリケーションを動作させるホストのリソースプールを生成する。開発者やオペレーションチームは,ホストマシンのクラスタを,単一のリソースプールとして扱えるようになる。また,管理者は,要件を満たす任意のホスト上でローンチされるように,コンテナをスケジュールすることができる。Docker Swarmでは,要件をサポートするための標準およびカスタムの制約と,ポリシベースのスケジューリングが可能だ。これによって管理者は,各コンテナ固有の要件と制約の定義を記述することができる。さらにDocker Swarmは,アプリケーションのライフサイクルに合わせて拡張できるように設計されている。単一ホストの開発環境から,数百台のホストの動作する実環境まで,サポート可能だ。Docker Swarmのソースコードはgithubで公開されている。
Docker Compose: Docker Composeでは,基盤となるインフラストラクチャに依存することなく,自律的かつ相互運用可能なDockerコンテナから,アプリケーションを組み立てることが可能になる。この宣言的アプローチによって,ポータブルなスタックの定義が容易にできるようになる。分散アプリケーションスタックは,各コンテナの定義を含んだ,シンプルなYAML設定ファイルによって宣言される。Docker Composeは,まだ開発の初期段階である。興味のある開発者には,githubプロポーザルが利用可能だ。
Docker, Inc. は上に紹介したサービスの他にも,Dockerプラットフォームに追加する新製品としてDHE(Docker Hub Enterprise)を発表した。これは開発者とシステム管理に対して,企業のファイアウォールの背後にあるコンテナを管理するための主要なワークフロー機能を提供するものだ。これは,Docker, Inc. の管理下で公開されているDocker Hubを補完するものだ。自分自身のデータセンタでプライベートレジストリを運用したいユーザが,DHEをデプロイできる。
Docker, Inc.が発表した最初のリリースには,次の機能が含まれている。
- 短時間でのインストールとGUIによる設定
- Dockerイメージの保存,管理,コラボレーション
- 高可用性と水平拡張性のためのアーキテクチャ
- イメージの再開可能なプッシュ/プル
- フレキシブルなストレージ拡張
- デフォルトでローカルファイルシステム,インメモリ,Amazon S3をサポート
- 拡張されたアプリケーションライフサイクル機能のためのアーキテクチャ
“Docker Hub Enterpriseは,Dockerを分散アプリケーション戦略の礎石となるべきオープンプラットフォームと評価し,急速に発展している当社の企業ユーザベースとの関係性を確立する上で,Dockerの基本をなすものです。これらの組織では,ファイアウォール内で実行可能で,Docker化を可能とするような,より広いエコシステムとよりダイナミックな開発環境の双方のメリットを活かせるソリューションを求めています。” DockerのCEOであるBen Golub氏はこう述べている。
DHEはAWSやAzure, IBMなどのパートナによってホストされる。Docker Hub Enterpriseの早期アクセス版は,2015年2月に公開される予定だ。待機リストにはDHE@docker.comから参加することができる。