Docker Architecture
Docker Architecture is the foundational system design that enables Docker to create, execute, and orchestrate containers efficiently.
Docker Architecture Contains Three Components:
Docker Client
Docker Host
Docker Registry
Client → API Request → Daemon → Local Images / Registry → Container Creation
Docker Client:
Provides CLI (Command-Line Interface) commands
When a user enters a Docker command (e.g., docker run
docker build
docker pull
), the Docker Client sends an API request to the Docker Daemon. The Docker Daemon listens for these requests from the Client and executes them, managing container operations as needed.
Docker Host:
The Docker Host is responsible for managing Docker containers, images, networks, and volumes.
The Docker Daemon
is a core component of the Docker Host
The Docker Daemon listens for Docker API requests from the Docker Client and performs core actions such as building images, running containers, and managing container lifecycles.
Workflow for Creating Containers
When Docker Client sends a docker run command
Docker Daemon checks if the required image is available locally, Docker Daemon creates and starts the container from the image
If the image is not present locally, Docker Daemon pulls the image from Docker Registry
Docker Registry
A Docker registry is a centralized place where Docker images are stored, managed, and distributed. It provides a system for pushing (uploading) and pulling (downloading) Docker images.
Docker provides both public and private registries for storing and distributing Docker images:
Public Registry: Docker Hub (open to the public, widely used for sharing and accessing Docker images).
Private Registry: Docker Trusted Registry (secure, private, and mainly for organizational use).
Public (Docker Hub) and private registries (Docker Trusted Registry)
Subscribe to my newsletter
Read articles from Kandlagunta Venkata Siva Niranjan Reddy directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by