Docker Architecture & Core Concepts

Docker uses a Client-Server architecture where the Docker Client communicates with the Docker Daemon (`dockerd`) via REST APIs or UNIX sockets.

1. Client-Server Architecture Components

1. Docker Client

Command line tool (`docker run`, `docker build`). Sends commands to daemon.

2. Docker Host Daemon

Background daemon (`dockerd`). Manages images, containers, networks, volumes.

3. Docker Registry

Stores public/private container images (Docker Hub, AWS ECR, GitHub Packages).

2. The 3 Pillars of Docker

Images

Read-only blueprints constructed from layered filesystems. Immutable once built.

Containers

Isolated execution instances created from images with a writeable container layer.

Volumes

Persistent storage locations outside container lifecycles to save data permanently.

Next Up

Master essential Docker CLI commands: docker run, docker ps, docker stop, logs, and exec.

Next Lesson: Essential Docker Commands →