Docker, Inc.がDocker Engine 1.6, Registry 2.0, Compose 1.2, Swarm 0.2, Machine 0.2のリリースを発表した。今回のリリースの目的は,開発者のエクスペリエンスとパフォーマンスの向上だ。
変更の概要は次のとおりである。
Docker Engine 1.6 - コンテナとイメージにラベルがサポートされて,ユーザ定義のメタデータを設定できるようになった。この機能に貢献したDarren Shepherd氏によると,ラベルは環境変数のようなキーと値のペアで,イメージやコンテナにアタッチすることができる。環境変数との違いは,実行中のアプリケーションから参照できないこと,イメージやコンテナの効率的な検索に使用可能なことだ。メタデータを付加することで,動的なコンフィギュレーションやコンテナ同士の関連付けに利用できる。
Microsoftと共同で,Linux上で動作するDockerエンジンにリモート接続可能なWindows Clientが公開されている。Windows Server ContainerやHyper-V Containerの管理も将来的にサポートされる予定だ。
ロギングドライバAPIが新たにサポートされた。コンテナのログをSyslogやサードパーティのロギングプラットフォームなど,システムログにリダイレクトすることができる。また,リポジトリ名やタグとは別に,内容を指定可能な識別子として,"ダイジェスト(digest)"が新たにサポートされた。イメージ内のコンテントに対して,不変(immutable)なリファレンスとして利用することで,特定のイメージを選択するアドレススキーマが改善される。
Registry 2.0 – Docker,Inc.によると,レジストリはパフォーマンス向上のため,Go言語で完全に書き換えられた。新バージョンではWebhooks, ネイティブTLSサポートなどの新機能がサポートされ,Docker Engine 1.6と合わせてイメージのプルが高速化する。
Compose 1.2 – Docker内のアプリケーションの定義と実行を行うツールであるComposeもメジャーアップグレードされた。新バージョンでは新たな機能として,他のComposeファイル内のサービスの拡張が可能になる。これによってDevOpsチームは,詳細な構成を何度も記述する必要がなくなり,複雑でマルチレイヤなコンテナアプリケーションの宣言が簡単になる。
Swarm 0.2 – DockerのクラスタツールであるSwarmは,複数のDockerホストによって構成されるプールを,単一の仮想ホストとして取り扱うためのものだ。新機能のひとつとして配置ストラテジが改善され,使用可能な全ホストに対して,均等なプロビジョニングが実施されるようになった。また,サポート対象のDockerコマンドが追加され,Docker APIとの完全な互換性が実現した。クラスタリング用のサードパーティドライバも近々サポートされる予定だ。
Machine 0.2 – Machineはローカルコンピュータ上,プライベートクラウド,およびパブリッククラウド上のDockerホストを,簡単にローンチできるようにするツールである。最新リリースには,サードパーティによるドライバ開発を促進するための,クリーンなインターフェースが含まれている。オペレーションを集中的に処理することで,信頼性と一貫性に優れたプロビジョニングをサポートする。また,セキュリティ向上のために,ホストTLS証明書を再生成するコマンドが追加されている。