In the incredibly exciting 15 months since we launched Docker, it has quickly moved from being a tool for individuals, to being a critical enabler of workgroups, an enabler of the full software development lifecycle, and a tool for scaling in production/between data centers/between clouds, etc. We’ve also seen the explosion of shared Docker content (over 14,000 Dockerized applications in our public Registry), the explosion of platforms supporting Docker (e.g. Red Hat, Open Stack, Google, AWS, Ubuntu), and the explosion of projects being built around Docker (over 7, 000 projects are now on GitHub with ‘Docker” in the title.)
So, it was time to move from being primarily a container engine to becoming a full, open platform to build, ship, and run distributed applications. Docker Hub is a key part of achieving that platform vision:
So, what is Docker Hub? Put simply, Docker Hub is about content, collaboration, and workflow. Intimately tied to the Docker Engine, Docker Hub provides a wide range of services for distributed applications, including container image distribution and change management, user and team collaboration, lifecycle workflow automation, and third-party services integration.
We’ve put a schematic below to give you a sense about how Docker Hub fits into the whole set of build, ship, run workflow. (Docker Engine is in green, Docker Hub is in blue.)
Better yet, come to the opening session of DockerCon to see a full demo showing how to create teams, find content, build apps, integrate into services like Jenkins, and deploy simultaneously to multiple different platforms. In case you can’t make it, we’ll be posting a video of the demo by the end of the day.
Docker Engine and Docker Hub for Building, Shipping, and Running Distributed Apps
This is just the first release of Docker Hub. A lot of key features are still to be added. Nevertheless, we’re pretty proud of what has made it into this release. Major features include:
- An integrated Console for managing users, teams, containers, repositories, and workflows;
- The Docker Hub Registry, offering more than 14,000 “Dockerized” applications, available to all users as building blocks for their own applications;
- Collaboration tools, enabling users to manage and share their applications through both public and private repositories, and to invite collaborators to participate in any stage of the application development lifecycle;
- The Automated Build Service, which keeps applications up-to-date by automatically rebuilding and updating an application’s public or private repository whenever the source code is updated on GitHub or Atlassian Bitbucket. Over 25% of the more than 14,000 Dockerized applications in the Docker Hub Registry are now created using Automated Builds, providing both automation and end-user assurance of container origin;
- The Webhooks service, which enables users to automate repetitive workflows for build pipelines or continuous deployment, Interoperable with any RESTful API, webhooks enables organizations to take advantage of the web APIs published by any service or software package, like GitHub, AWS, or Jenkins; and
- The Docker Hub API, which includes a user authentication service, so that third party applications and services can gain authenticated access to applications in a user’s public and private repositories. Third-party services that have already integrated with the Docker Hub API include AWS Elastic BeanStalk, Deis, Drone.io, Google Compute Engine, Orchard, Rackspace, Red Hat, Tutum, and many others.
It’s probably worth mentioning that Docker Hub accounts are free for all registered users. (We’ll charge for private repositories, a la GitHub, but that’s about it. We’ll even give all free users one free private repo.)
One of the most critical aspects of the release is the launch of our Official Repositories program. While we have over 14,000 Dockerized applications available in the general public registry, there has been considerable demand for a more curated set of images, with particular guarantees around source and quality. Initially encompassing the top 13 most-searched-for applications in the Docker Hub Registry – including CentOS, MongoDB, MySQL, Nginx, Redis, Ubuntu, and WordPress – the Official Repositories program is open to any community group or software ISV willing to commit resources to on-going maintenance of an application according to the program’s guidelines. For example, SyncSort has a version of their Ironcluster ETL product in the Docker Official Repository. For more information contact firstname.lastname@example.org.
As I said above, this is only version one. Thanks to the many people worked on Docker Hub. Stay tuned in the coming months to learn about our plans for enhanced services around clustering, orchestration, provenance, and more with Docker Engine and Docker Hub.