0
0
DockerHow-ToBeginner · 4 min read

How to Use Docker Hub: Push, Pull, and Manage Images

To use Docker Hub, first log in with docker login, then pull images using docker pull or push your own images with docker push. Docker Hub acts like a cloud storage for your Docker images, making sharing easy.
📐

Syntax

Here are the main Docker Hub commands and their parts explained:

  • docker login: Authenticate your Docker client with Docker Hub using your username and password.
  • docker pull <image>[:tag]: Download an image from Docker Hub. The tag is optional and defaults to latest.
  • docker push <image>[:tag]: Upload your local image to Docker Hub under your repository.
  • docker tag <local-image> <username>/<repository>[:tag]: Rename your local image to match your Docker Hub repository before pushing.
bash
docker login

docker pull <image>[:tag]

docker tag <local-image> <username>/<repository>[:tag]

docker push <username>/<repository>[:tag]
💻

Example

This example shows how to log in, pull an official image, tag your own image, and push it to Docker Hub.

bash
docker login
# Enter your Docker Hub username and password when prompted

docker pull nginx:latest
# Downloads the official nginx image

docker build -t my-nginx .
# Builds a local image named my-nginx from a Dockerfile in current folder

docker tag my-nginx yourusername/my-nginx:1.0
# Tags the local image for your Docker Hub repository

docker push yourusername/my-nginx:1.0
# Uploads the image to Docker Hub
Output
Login Succeeded latest: Pulling from library/nginx Digest: sha256:... Status: Downloaded newer image for nginx:latest Sending build context to Docker daemon 2.048kB Step 1/2 : FROM nginx:latest ---> sha256:... Successfully built abc123 Successfully tagged my-nginx:latest The push refers to repository [docker.io/yourusername/my-nginx] 1.0: Pushed
⚠️

Common Pitfalls

Common mistakes when using Docker Hub include:

  • Not logging in before pushing images, causing authentication errors.
  • Forgetting to tag your local image with your Docker Hub username and repository before pushing.
  • Using the latest tag carelessly, which can cause confusion about image versions.
  • Trying to push images to repositories you don't own or without permission.
bash
docker push my-nginx:1.0
# Error: denied: requested access to the resource is denied

docker tag my-nginx yourusername/my-nginx:1.0

docker push yourusername/my-nginx:1.0
# Success
Output
Error response from daemon: denied: requested access to the resource is denied The push refers to repository [docker.io/yourusername/my-nginx] 1.0: Pushed
📊

Quick Reference

Remember these tips when using Docker Hub:

  • Always login before pushing images.
  • Tag your images with your Docker Hub username and repository.
  • Use meaningful tags to track image versions.
  • Pull images with docker pull to use existing images.
  • Keep your Docker Hub credentials safe and use access tokens if possible.

Key Takeaways

Log in to Docker Hub using 'docker login' before pushing images.
Tag your local images with your Docker Hub username and repository before pushing.
Use 'docker pull' to download images from Docker Hub.
Avoid using the 'latest' tag without versioning to prevent confusion.
Ensure you have permission to push to the target Docker Hub repository.