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 →