14 part series

Docker From Basics to Swarm

Learn Docker from scratch: containers, images, the Dockerfile, volumes, networking, Docker Compose, then on to Docker Swarm for running containers across multiple machines. Every article is hands-on and ends with a cleanup section.

1

What Docker Is and Why You Should Use It

Series opener: what problem Docker solves, how it differs from a virtual machine, the core concepts (image, container, registry), and the learning path from the basics to Docker Swarm.

Kai··5 min read·DevOpsDocker
2

Docker Architecture: Client, Daemon, containerd and runc

A deep dive into Docker architecture: the client and daemon talk over a REST API, and beneath dockerd sit containerd and runc. Understand what really happens when you type docker run, with diagrams and commands you can verify yourself.

Kai··9 min read·DevOpsDocker
3

What a Container Is Made Of: Namespaces, Cgroups and Union Filesystem

A deep dive into the lowest layer: three Linux kernel features — namespaces (isolation), cgroups (resource limits) and union filesystem (layers) — turn an ordinary process into a container. With diagrams and commands you can verify yourself.

Kai··7 min read·DevOpsDocker
4

Installing Docker and Running Your First Container

Install Docker for your OS, then run your first container and master the full lifecycle: run, ps, logs, exec, stop, rm. With a container state diagram and a cleanup section.

Kai··4 min read·DevOpsDocker
5

Images and the Layer Mechanism: Pull, Tag, Docker Hub

Where images come from and what they're made of: how to read an image name, the Docker Hub registry, layers shared across images, digests, and managing images on your machine with pull/images/tag/rmi/history.

Kai··4 min read·DevOpsDocker
6

Writing a Dockerfile and Build Cache

Build your own application image: the core Dockerfile instructions, each instruction creating a layer, and how the build cache works — why putting dependency installation before copying code makes builds much faster.

Kai··5 min read·DevOpsDocker
7

Volumes and Bind Mounts: Storing Data Persistently

Data in a container vanishes when the container is removed. This article fixes that: named volumes managed by Docker and bind mounts that attach a host directory directly, when to use which, with examples proving the data survives.

Kai··5 min read·DevOpsDocker
8

Networking in Docker: Bridge, veth and Port Mapping

How containers reach each other and the outside world: the network drivers, the default bridge and the veth mechanism, port publishing, and why a user-defined network lets containers call each other by name while the default bridge does not.

Kai··5 min read·DevOpsDocker
9

Docker Compose: Running Multi-Container Applications

Declare a whole multi-component app (web, database, cache) in one file, then run it with a single command. Understand the compose file, the auto-created network that lets services call each other by name, and the up/down lifecycle.

Kai··4 min read·DevOpsDocker
10

Optimizing Images: Multi-Stage Builds and Security

Large images slow down deploys and widen the attack surface. This article shrinks images with multi-stage builds (real example: 301MB down to 15.4MB), picks lean base images, runs non-root, and avoids baking in secrets.

Kai··5 min read·DevOpsSecurity
11

Docker Swarm: Cluster Architecture and Raft

Stepping into multi-machine orchestration: Swarm gathers many Docker hosts into a cluster of managers and workers. Understand the desired-state model, the Raft consensus mechanism, and why you want an odd number of managers. Includes cluster init and how to simulate multiple nodes for learning.

Kai··6 min read·DevOpsDocker
12

Swarm: Service, Scale and Rolling Update

On a Swarm cluster you don't run individual containers, you declare a service. This article creates a multi-replica service, scales it up and down, updates the version without downtime (rolling update), and watches Swarm self-heal.

Kai··4 min read·DevOpsDocker