Docker Inc., the company behind Docker, introduced a range of new services, including its first paid offering: private repositories. Docker index now also offers webhooks, triggers and links for trusted builds and e-mail notifications.
Docker index is a registry for Docker images repositories. A repository is the way to share pre-built images, avoiding the need to recreate them every time by everyone. Although a rough analogy, repositories are to Docker what boxes are to Vagrant. With the availability of private repositories it is now possible to control who can push or pull into a repository. It is now also possible to browse repositories by image tags and see the file system changes introduced by each.
Successful repository pushes now trigger webhooks, when configured. The webhook URL will receive an HTTP POST with the following JSON payload:
{ "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 is a service which allows to connect a repository to a GitHub account and add a post commit hook to a GitHub repository. This hook triggers a build and updates the image inside Docker index, maintaining a relationship between the image and the corresponding Dockerfile.
Trusted Builds received two enhancements: links and triggers. Links give the capability to synchronize Trusted Build repositories so that any update to a linked Trusted Build triggers an update on the other Trusted Build. Triggers give a simple process to start a repository build, without having to commit anything to GitHub, like so:
$ curl --data "build=true" -X POST https://index.docker.io/u/samalba/docker-registry/trigger/b2562468-aea0-11e3-a39e-b6db5999dfec/
Finally, Docker index users can now be notified by e-mail on some events: when a Trusted Build or when another user stars or comments a repository.
Docker index's new services increase the choice for Docker registries, since Quay.io already offered similar capabilities to the ones now announced.
Private repositories are the first commercial offering of Docker Inc., although there are plans to add more paid services, as stated at Docker's blog:
All services on Docker.io to this point have been freely available, and we feel this is important in fostering an active, growing community around Docker. For this reason, most of Docker.io's services will continue to be free but, as Ben has already publicly shared, to support continued investment in Docker we will over time offer optional pay-for services. Private repos is the first example of this.
The pricing plans start at 7$/month for at most five repositories up to 50$/month for a maximum of fifty repositories.