Docker
Package an app with its dependencies as a container.
Docker is taught here in 12 lessons, running from Images and containers through to Podman, containerd and the OCI ecosystem. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | DevOps & Tooling |
| Lessons | 12 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: Linux |
Lessons
- Images and containersWhat an image really is, how a container differs from a virtual machine, and the commands you will run every day.
- Writing a DockerfileInstructions that matter, why layer order decides your build times, and how multi-stage builds keep production images small.
- Compose, volumes and networkingDescribe a multi-container stack in one file, decide where data lives, and understand how containers address each other.
- Installing Docker and the core CLI workflowEngine, CLI, daemon and socket, the permissions that matter, and the build-run-push loop you will repeat all day.
- Container lifecycle, logs and debuggingStates and restart policies, where stdout goes, exec versus attach, inspect and exit codes, and the reflex that finds the fault quickly.
- Registries, tags and image distributionHow an image name is assembled, why digests are the only immutable reference, and pushing to Docker Hub, GHCR or a private registry.
- BuildKit, cache and multi-platform imagesBuildx builders, cache mounts that skip dependency downloads, registry-backed caches for CI, and building for other architectures.
- Container security: users, capabilities and secretsDrop root, cut capabilities, make the filesystem read-only, and get credentials into a build without baking them into a layer.
- Data persistence and backup patternsVolume drivers and where data really lives, permission mismatches, database containers, and a backup you have restored at least once.
- Docker in CI and publishing imagesBuilding in a pipeline, caching layers across runs, tagging with the commit, scanning for vulnerabilities and signing what you ship.
- Production concerns: resources, health and loggingCPU and memory limits, healthchecks that mean something, log rotation, and shutting down without dropping requests.
- Podman, containerd and the OCI ecosystemThe specs underneath the tooling, where the runtime boundary really sits, and when Podman or nerdctl is the better answer.
More in DevOps & Tooling
Git Linux Kubernetes Nginx CI / CD Bash Scripting Ansible
FAQ
How long does the Docker course take?
It has 12 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Docker?
Not strictly. It helps to have read Linux first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Docker?
Continue with Kubernetes (14 lessons), the next course in DevOps & Tooling.
Last refreshed 2026-09-18.