Docker Architecture
Docker follows a client‑server architecture. Understanding these components helps you use Docker effectively.
Docker Components
- Docker Client: The command-line tool you use to interact with Docker (e.g.,
docker run). It sends commands to the Docker daemon. - Docker Daemon (dockerd): The background service that manages images, containers, networks, and volumes. It listens for API requests and performs the actual work.
- Docker Registry: A storage for Docker images. Docker Hub is the default public registry. You can also use private registries.
- Images: Read‑only templates used to create containers. Images are built from a Dockerfile.
- Containers: Runnable instances of images. You can start, stop, move, or delete a container.
How They Work Together
1. You type
docker run hello-world in the client.2. The client sends the command to the daemon.
3. The daemon checks if the
hello-world image exists locally.4. If not, it pulls the image from a registry (like Docker Hub).
5. The daemon creates a container from the image and runs it.
6. The container prints output and exits.
Docker Object Model
Think of it this way:
- Dockerfile = recipe
- Image = compiled recipe (read‑only template)
- Container = cooked dish (runnable instance)
- Registry = kitchen where recipes are stored
Running Docker in Background
On Linux, the Docker daemon runs as a system service. On Windows/Mac, Docker Desktop runs a virtual machine with the daemon inside. The client connects to it automatically.
Two Minute Drill
- Docker uses a client‑server architecture.
- The client sends commands to the daemon (
dockerd). - Images are stored in registries (like Docker Hub).
- Containers are running instances of images.
- The daemon manages the lifecycle of containers.
Need more clarification?
Drop us an email at career@quipoinfotech.com
