Push and Pull Docker image from Docker Hub

What is Docker Hub? 

Docker Hub is the world’s largest library and community for container images. One cloud-based repository and community for container images is Docker Hub, where we can locate official images for Nginx, MongoDB, PostgreSQL, and other systems. Docker Hub transports any application, anywhere, with ease. As a result, we must create the Docker image and upload it to the Docker registry. If you decide to make it public, anyone can access it. 

Docker Hub is a hosted repository where we can push, pull, and manage container images. 

Docker Hub Features:

  • Repositories It include the container image Push and Pull procedure. 
  • Docker official images – It pulls and uses Docker-rendered, high-quality container images. 
  • Docker publisher images – It pulls from and makes use of external vendors’ high-quality container images. 
  • Builds– It offers systems that automatically create and upload container images to Docker Hub from Bitbucket and GitHub. 
  • Docker incorporates an experimental Docker Hub CLI tool and an API (micro-service) that lets you interact with Docker Hub. 
Image Credits: https://medium.com/docker-captain/creating-the-first-docker-image-and-pushing-it-to-docker-hub-4e02bea48e81

Steps to publish an image to Docker Hub:

1. Sign up for a Docker account

You can use your email address or your GitHub or Google account to register for a Docker account. After creating an account with a unique Docker ID, you can utilize all Docker products, including Docker Hub. Docker Hub allows you to browse image collections and access repositories from community members and respectable publishers. 

Create Docker ID:

  • Go to the Docker Hub sign-up page https://hub.docker.com 
  • Enter a valid email address 
  • Enter Username 
  • Enter valid password 
  • Select sign-up 
  • An email verification is sent by Docker to the address you entered. To finish the signup process, confirm the email address you provided. 

Your Docker ID can only contain lowercase letters and numbers, and it must be between four and thirty characters long. If you deactivate this account after creating your Docker ID, you cannot use it again. 

2. Create your repository

  • Sign in to the Docker Hub account 
  • Select create a repository 
  • Name it <your-username>/my-private-repo 
  • Set the visibility to private 
  • Select Create and the repository is getting created. 

3. Login into your AWS account and create an EC2 Instance

4. Install Docker into the EC2 instance

Refer to any link below for installing docker: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04 

5. log in to the Docker with the command sudo docker login

Once you log in with Docker then log in with your Docker Hub account and enter your Docker Hub Username and password. 

log in to the docker

6. Create a new image

Command to pull Docker image

Command to pull Docker image
Command to push and pull Docker image

7. See the list of images before tagging the image

Command to list images:

list of images for push and pull image

8. Tagging the image 

Command to tag any image in the repository: 

Tagging the image 

Explanation

  • ishadeotale: My Docker Hub username or Account ID. In your case, it would be different. 
  • Python:latest: Name of image 
  • Pythontest: Tagged image 
  • Dockertest: Repository name 

9. Push the tagged image into the Docker Hub

Push the tagged image into the Docker Hub

Explanation: 

  • Docker push <image-name>: push image in the Docker Hub 

10. Create a repository into the Docker Hub account 

Create a repository into the docker hub account 

11. Login to your Docker Hub Account

Now, you can see the tagged image on your Docker Hub account:

tagged image on your Docker Hub

Conclusion:

In summary, this blog provides a comprehensive walkthrough on how to push and pull Docker image from Docker Hub. By covering account setup, repository creation, AWS integration, and image pushing, users can efficiently manage and share containerized applications. Leveraging Docker Hub’s robust features ensures a seamless and collaborative experience in the dynamic world of containerization.

You can also read: Why Docker is better than Virtual Machine?

Stay tuned for more blogs!