Docker makes it easy to start a container. Using containers reliably is the real engineering challenge.
Applications that work on one machine can fail somewhere else because environments differ. Containers help solve that problem, but knowing a set of Docker commands isn't enough. You also need to understand how images are built, how containers behave, where data lives, how services communicate, and how to find evidence when something goes wrong.
Docker in Practice takes you from Docker fundamentals to the practical skills needed to build, run, inspect, troubleshoot, and manage containerised applications with confidence.
The book develops a clear mental model of how Docker works, connecting individual commands to the systems and applications they manage. You learn by building applications, observing their behaviour, deliberately encountering failures, diagnosing the evidence, applying a fix, and verifying that the system works again.
Through practical explanations and hands-on exercises, you will learn how to:
Understand the relationship between images, containers, registries, Dockerfiles, networks, and volumesBuild efficient container images and understand Docker's build cache and multi-stage buildsSeparate application configuration from images and handle runtime configuration appropriatelyPreserve application data and connect services through Docker networking and persistent storageUse health checks, resource limits, logs, container state, and exit information as operational evidenceDefine and operate multi-container applications with Docker ComposeTroubleshoot container failures systematically instead of relying on trial and errorApply Docker within CI/CD workflows and build a more reliable path from source code to container imageBring the concepts together in a practical multi-service projectThe book is designed for software developers, DevOps engineers, cloud and platform engineers, system administrators, and students who want to develop practical Docker skills and the confidence to operate containerised applications.
No previous Docker experience is required. The material progresses from foundational concepts to real operational workflows, with verification and troubleshooting integrated throughout.
By the end, you will have moved beyond simply asking, "Which Docker command should I run?" You will be able to reason about a containerised application, understand how its components work together, gather evidence when it fails, and make informed decisions about how to fix it.
Build containers. Understand their behaviour. Diagnose failures. Verify the result.