Get Started
Quickstart Understand the architecture
Migrate to Engine 1.10 Breaking changes Deprecated Engine Features FAQ
Quickstart contribution FAQ for contributors Where to chat or get help Style guide for Docker documentation

Overview of Docker Hub

The Docker Hub is a cloud-based registry service for building and shipping application or service containers. It provides a centralized resource for container image discovery, distribution and change management, user and team collaboration, and workflow automation throughout the development pipeline.

Getting started with Docker Hub

Specifically, Docker Hub provides the following major features and functions:

  • Image Repositories: Find, manage, and push and pull images from community, official, and private image libraries.
  • Automated Builds: Automatically create new images when you make changes to a source GitHub or Bitbucket repository.
  • Webhooks: A feature of Automated Builds, Webhooks let you trigger actions after a successful push to a repository.
  • Organizations: Create work groups to manage user access to image repositories.
  • GitHub and Bitbucket Integration: Add the Hub and your Docker Images to your current workflows.

Create a Docker Hub account

To explore Docker Hub, you’ll need to create an account by following the directions in Hub Accounts. You can create an account and use the Hub with one private repo for free. If you need more private repos, you can upgrade from your free account to a paid plan. To learn more, log in to the Hub and go to Billing & Plans, which you access via the Settings menu (gear icon at upper right).

Work with Docker image repositories

The Docker Hub provides you and your team with a place to build and ship Docker images.

You can configure Docker Hub repositories in two ways:

  • Repositories, which allow you to push images at will from your local Docker daemon to the Hub, and
  • Automated Builds, which allow you to configure GitHub or Bitbucket to trigger the Hub to rebuild repositories when changes are made to the repository.

You can create public repositories which can be accessed by any other Hub user, or you can create private repositories with limited access you control.

Docker commands and Docker Hub

Docker itself provides access to Docker Hub services via the docker search, pull, login, and push commands.

Explore repositories

There are two ways you can search for public repositories and images available on the Docker Hub. You can “Search” on the Docker Hub website, or you can docker search for all the repositories and images using the Docker commandline tool:

$ docker search ubuntu

Both will show you a list of the currently available public repositories on the Docker Hub which match the provided keyword.

A private repository won’t be listed in the repository search results. To see all the repositories you can access and their status, view your “Dashboard” page on Docker Hub.

You can find more information on working with Docker images in the Docker userguide.

Use Official Repositories

The Docker Hub contains a number of Official Repositories. These are public, certified repositories from vendors and contributors to Docker. They contain Docker images from vendors like Canonical, Oracle, and Red Hat that you can use as the basis to building your applications and services.

With Official Repositories you know you’re using an optimized and up-to-date image that was built by experts to power your applications.

Note: If you would like to contribute an Official Repository for your organization or product, see the documentation on Official Repositories on Docker Hub for more information.

Create organization

Learn how to create a Docker Hub account and manage your organizations and teams.

Mar 10, 2016 at 12:12am (PST) { "docker/apidocs": { "ref": "docs", "repos": [ "git@github.com:docker/dhe-deploy.git" ], "sha": "a18cd2c568a6a7416131ea47b82532c20340c30d" }, "docker/compose": { "ref": "master", "repos": [ "git@github.com:docker/compose.git" ], "sha": "8a86e204a0908458273584e4fe5f5b952af713ce" }, "docker/docker": { "ref": "master", "repos": [ "git@github.com:docker/docker.git" ], "sha": "fcff343cb49f37d7c5b59c121b0cd1900e44c542" }, "docker/docker-hub": { "ref": "master", "repos": [ "git@github.com:docker/hub2-demo.git" ], "sha": "3b91be1cb4fa6a25b4b5b86916450473d87174ef" }, "docker/docker-trusted-registry": { "ref": "docs", "repos": [ "git@github.com:docker/dhe-deploy.git" ], "sha": "a18cd2c568a6a7416131ea47b82532c20340c30d" }, "docker/docs-base": { "ref": "master", "repos": [ "git@github.com:docker/docs-base.git" ], "sha": "5a4cfac3c4d156eda45080c7dcdd2a4c41e08067" }, "docker/kitematic": { "ref": "master", "repos": [ "git@github.com:docker/kitematic.git" ], "sha": "cd3ea2c61962963b1749e14c3d376e4b658bdc5c" }, "docker/machine": { "ref": "master", "repos": [ "git@github.com:docker/machine.git" ], "sha": "5a270c975123e00bd42a385ccd36501c20f7a3d7" }, "docker/notary": { "ref": "master", "repos": [ "git@github.com:docker/notary.git" ], "sha": "40a24c3793be1dc0eca727333c5b9a3c3f5aec03" }, "docker/opensource": { "ref": "master", "repos": [ "git@github.com:docker/opensource.git" ], "sha": "b994cdd1f74b0aeb0b51fda1249a0c4c8efbf0d0" }, "docker/registry": { "ref": "master", "repos": [ "git@github.com:docker/distribution.git" ], "sha": "db17a23b961978730892e12a0c6051d43a31aab3" }, "docker/swarm": { "ref": "master", "repos": [ "git@github.com:docker/swarm.git" ], "sha": "8e35ac6c5276fb2a10a989ec1586ee03c71a5a38" }, "docker/toolbox": { "ref": "master", "repos": [ "git@github.com:docker/toolbox.git" ], "sha": "de744b6f0f813a2b67abf26a499f5574331591fd" }, "docker/tutorials": { "ref": "master", "repos": [ "git@github.com:docker/tutorials.git" ], "sha": "7af2622fe68a30684d971e4bf3ca7988902e5e26" }, "docs.docker.com": { "ref": "HEAD", "repos": [ "git@github.com:docker/docs.docker.com" ], "sha": "17d298ae77d5d98081c9ef6d051c8c78bd57c55c" } }