Skip to main content
Containerized applications are commonly distributed as container images hosted in public and private registries. These registries let you discover, pull, and share images for operating systems, databases, developer tools, and complete application stacks. Popular registries include:
A presentation slide titled "Images And Registries" showing a Public Docker Registry with example images (Ansible, MongoDB, Redis, Node.js) and a list of other registries (GitHub, Google, Amazon ECR, Azure). A man in a KodeKloud t-shirt stands on the right as if presenting.
How registries and images are used
  • Discover an image for the software you need (e.g., nginx, mongo, redis, node).
  • Pull that image to a host that has Docker installed.
  • Run one or more containers from the same image for testing, scaling, or production.
If you need multiple instances of a service, you can start several containers from the same image and put a load balancer in front. When a container fails, you destroy it and start another from the same image. For production-level availability and orchestration consider tools such as:
  • Docker Compose — define and run multi-container apps on a single host.
  • Docker Swarm — Docker’s native clustering.
  • Kubernetes — production-grade orchestration for clustering, scaling, and self-healing.
Public registries like Docker Hub are convenient for discovery and quick testing, but private registries or cloud-specific registries (ECR, ACR, GCR) are commonly used for production images and often require authentication.
Images vs. containers Pulling and running an image When you run an image with docker run, Docker pulls the image if it’s not already present locally and then creates and starts a container. Example: pull (if needed) and run nginx detached, mapping host port 80 to container port 80:
Building your own image If there’s no public image that fits your needs, create your own image using a Dockerfile, tag it, and push it to a registry (e.g., Docker Hub). Example Dockerfile:
Build and push to Docker Hub (replace yourdockerhubusername and tag as appropriate):
Run your published image:
Image tag example
Quick reference — common commands Links and references

Watch Video