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

Docker Architecture diagram

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)

0
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

Kandlagunta Venkata Siva Niranjan Reddy
Kandlagunta Venkata Siva Niranjan Reddy