Dockerを提供するDocker Inc.が新しいサービスを発表した。初の商用サービスであるプライベートリポジトリも含む。Docker indexはウェブフック、トリガ、Trusted Buildsのためのリンク、メールによる通知を提供する。
Docker indexはDockerのイメージリポジトリのためのレジストリだ。リポジトリはプレビルドイメージを共有するための手段であり、毎回、全員が環境を再作成しなくてもよいようにする。雑な類推だが、Dockerにとってのリポジトリは、Vagrantにとってのボックスだ。プライベートリポジトリが利用できるようになることで、誰がリポジトリにプッシュやリポジトリからのプルができるのかを制御できる。また、イメージタグを使ってリポジトリを閲覧し、ファイルシステムの変更を見ることができる。
リポジトリへのプッシュからウェブフックを起動することもできる。ウェブフックのURLは下記のJSONペイロードを伴ったHTTPのPOSTリクエストを受けつける。
{ "push_data":{ "pushed_at":1385141110, "images":[ "imagehash1", "imagehash2", "imagehash3" ], "pusher":"username" }, "repository":{ "status":"Active", "description":"my docker repo that does cool things", "is_trusted":false, "full_description":"This is my full description", "repo_url":"https://index.docker.io/u/username/reponame/", "owner":"username", "is_official":false, "is_private":false, "name":"reponame", "namespace":"username", "star_count":1, "comment_count":1, "date_created":1370174400, "dockerfile":"my full dockerfile is listed here", "repo_name":"username/reponame" } }
Trusted BuildsはリポジトリとGitHubのアカウントをひも付け、GitHubリポジトリにポストコミットフックを追加する。このフックはDocker index内のイメージのビルドとアップデートを起動し、イメージと対応するDockerfileの関係をメンテナンスする。
Trusted Buildsはふたつの改善が行われた。リンクとトリガだ。リンクによってTrusted Buildのリポジトリが同期されるようになる。どのようなアップデートでもリンクされているTrusted Buildは他のTrusted Buildのアップデートを起動するのだ。トリガは単純なプロセスであり、リポジトリのビルドを起動する。GitHubには何もコミットしなくていい。
$ curl --data "build=true" -X POST https://index.docker.io/u/samalba/docker-registry/trigger/b2562468-aea0-11e3-a39e-b6db5999dfec/
Docker indexのユーザがイベントが発生したことをメールで受け取れるようになった。Trusted Buildや他のユーザのコミットなどのイベントだ。
Docker indexの新しいサービスはDockerレジストリの選択肢を増やす。Quay.ioはすでに同じようなサービスを提供している。
プライベートリポジトリはDocker Incの初の商用サービスだ。彼らは支払いが必要なサービスを他にも構想している。同社のブログによれば、
Docker.io上のすべてのサービスは現在、無料です。これはDocker周辺のコミュニティを活発にし育てる上で重要なことです。したがってほとんどのサービスは引き続き無料で提供します。しかし、Benがすでに発表したように、Dockerに継続して投資していくには、オプションの商用サービスを提供する必要があります。プライベートリポジトリはその一環です。
料金はリポジトリ数が5つで月額7ドル。最大50リポジトリで月額50ドル。