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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.