docs/docker-hub/index.md

9.1 KiB
Raw Blame History

description keywords title redirect_from
Docker Hub Quickstart Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, accounts, organizations, repositories, groups, teams Docker Hub Quickstart
/docker-hub/overview/
/apidocs/docker-cloud/
/docker-cloud/
/docker-cloud/migration/
/docker-cloud/migration/cloud-to-swarm/
/docker-cloud/migration/cloud-to-kube-aks/
/docker-cloud/migration/cloud-to-kube-gke/
/docker-cloud/migration/cloud-to-aws-ecs/
/docker-cloud/migration/deregister-swarms/
/docker-cloud/migration/kube-primer/
/docker-cloud/cloud-swarm/
/docker-cloud/cloud-swarm/using-swarm-mode/
/docker-cloud/cloud-swarm/register-swarms/
/docker-cloud/cloud-swarm/register-swarms/
/docker-cloud/cloud-swarm/create-cloud-swarm-aws/
/docker-cloud/cloud-swarm/create-cloud-swarm-azure/
/docker-cloud/cloud-swarm/connect-to-swarm/
/docker-cloud/cloud-swarm/link-aws-swarm/
/docker-cloud/cloud-swarm/link-azure-swarm/
/docker-cloud/cloud-swarm/ssh-key-setup/
/docker-cloud/infrastructure/
/docker-cloud/infrastructure/deployment-strategies/
/docker-cloud/infrastructure/link-aws/
/docker-cloud/infrastructure/link-do/
/docker-cloud/infrastructure/link-azure/
/docker-cloud/infrastructure/link-packet/
/docker-cloud/infrastructure/link-softlayer/
/docker-cloud/infrastructure/ssh-into-a-node/
/docker-cloud/infrastructure/docker-upgrade/
/docker-cloud/infrastructure/byoh/
/docker-cloud/infrastructure/cloud-on-packet.net-faq/
/docker-cloud/infrastructure/cloud-on-aws-faq/
/docker-cloud/standard/
/docker-cloud/getting-started/
/docker-cloud/getting-started/intro_cloud/
/docker-cloud/getting-started/connect-infra/
/docker-cloud/getting-started/your_first_node/
/docker-cloud/getting-started/your_first_service/
/docker-cloud/getting-started/deploy-app/1_introduction/
/docker-cloud/getting-started/deploy-app/2_set_up/
/docker-cloud/getting-started/deploy-app/3_prepare_the_app/
/docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry/
/docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service/
/docker-cloud/getting-started/deploy-app/6_define_environment_variables/
/docker-cloud/getting-started/deploy-app/7_scale_the_service/
/docker-cloud/getting-started/deploy-app/8_view_logs/
/docker-cloud/getting-started/deploy-app/9_load-balance_the_service/
/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service/
/docker-cloud/getting-started/deploy-app/11_service_stacks/
/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes/
/docker-cloud/apps/
/docker-cloud/apps/deploy-to-cloud-btn/
/docker-cloud/apps/auto-destroy/
/docker-cloud/apps/autorestart/
/docker-cloud/apps/auto-redeploy/
/docker-cloud/apps/load-balance-hello-world/
/docker-cloud/apps/deploy-tags/
/docker-cloud/apps/stacks/
/docker-cloud/apps/ports/
/docker-cloud/apps/service-redeploy/
/docker-cloud/apps/service-scaling/
/docker-cloud/apps/api-roles/
/docker-cloud/apps/service-links/
/docker-cloud/apps/triggers/
/docker-cloud/apps/volumes/
/docker-cloud/apps/stack-yaml-reference/
/docker-cloud/installing-cli/
/docker-cloud/docker-errors-faq/
/docker-cloud/release-notes/
/docker-store/
/apidocs/
/apidocs/overview/

Docker Hub{: target="blank" rel="noopener" class=""} is a service provided by Docker for finding and sharing container images with your team. It is the worlds largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors (ISV) building and distributing their code in containers.

Users get access to free public repositories for storing and sharing images or can choose a subscription plan{: target="blank" rel="noopener" class=""} for private repositories.

Docker Hub provides the following major features:

  • Repositories: Push and pull container images.
  • Teams & Organizations: Manage access to private repositories of container images.
  • Docker Official Images: Pull and use high-quality container images provided by Docker.
  • Docker Verified Publisher Images: Pull and use high- quality container images provided by external vendors.
  • Builds: Automatically build container images from GitHub and Bitbucket and push them to Docker Hub.
  • Webhooks: Trigger actions after a successful push to a repository to integrate Docker Hub with other services.

Docker provides a Docker Hub CLI{: target="blank" rel="noopener" class=""} tool (currently experimental) and an API that allows you to interact with Docker Hub. Browse through the Docker Hub API{: target="blank" rel="noopener" class=""} documentation to explore the supported endpoints.

The following section contains step-by-step instructions on how to easily get started with Docker Hub.

Step 1: Sign up for a Docker account

Let's start by creating a Docker ID{: target="blank" rel="noopener" class=""}.

A Docker ID grants you access to Docker Hub repositories and allows you to explore images that are available from the community and verified publishers. You'll also need a Docker ID to share images on Docker Hub.

Step 2: Create your first repository

To create a repository:

  1. Sign in to Docker Hub{: target="blank" rel="noopener" class=""}.

  2. Click Create a Repository on the Docker Hub welcome page.

  3. Name it <your-username>/my-private-repo.

  4. Set the visibility to Private.

    Create Repository

  5. Click Create.

    You've created your first repository. You should see:

    Repository Created

Step 3: Download and install Docker Desktop

You'll need to download Docker Desktop to build, push, and pull container images.

  1. Download and install Docker Desktop.

  2. Sign in to the Docker Desktop application using the Docker ID you've just created.

Step 4: Pull and run a container image from Docker Hub

  1. Run docker pull hello-world to pull the image from Docker Hub. You should see output similar to:
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
  1. Run docker run hellow-world to run the image locally. You should see output similar to:
$ docker run hellow-world
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Step 5: Build and push a container image to Docker Hub from your computer

  1. Start by creating a Dockerfile to specify your application as shown below:

    # syntax=docker/dockerfile:1
    FROM busybox
    CMD echo "Hello world! This is my first Docker image."
    
  2. Run docker build -t <your_username>/my-private-repo . to build your Docker image.

  3. Run docker run <your_username>/my-private-repo to test your Docker image locally.

  4. Run docker push <your_username>/my-private-repo to push your Docker image to Docker Hub. You should see output similar to:

    Terminal

    Note

    You must be signed in to Docker Hub through Docker Desktop or the command line, and you must also name your images correctly, as per the above steps.

  5. Your repository in Docker Hub should now display a new latest tag under Tags:

    Tag Created

Congratulations! You've successfully:

  • Signed up for a Docker account
  • Created your first repository
  • Pulled an existing container image from Docker Hub
  • Built your own container image on your computer
  • Pushed it successfully to Docker Hub

Next steps