Docker
Images, layers, registries and Compose.
46 published guides
46-guide Docker learning path · 46 published · about 621 min of reading · 9 learning tracks · reviewed 22 August 2026
Getting Started4 guides
Install the engine and understand what Docker actually is.
-
Installation 15 min
Docker Engine Installation on Ubuntu 26.04
Install from the official apt repo, watch a real multi-layer pull, and drop the sudo prefix.
apt-get install docker-ceUpdated 20 Aug 2026
-
Concepts 10 min
Docker Containers, Images, Registries and Daemon
Get the four things every later guide assumes, each shown with a command rather than a diagram.
docker versionUpdated 20 Aug 2026
-
Concepts 13 min
Docker Container Process Model
Prove in six commands that a container is an ordinary Linux process with a restricted view.
ls -l /proc/$PID/nsUpdated 20 Aug 2026
-
Configuration 12 min
Docker Engine Upgrade, Pinning and Removal
Pin a version so an unrelated apt upgrade cannot move it, and uninstall without losing volumes.
apt-mark hold docker-ceUpdated 20 Aug 2026
Containers and Images4 guides
Run, inspect and manage containers and the images behind them.
-
Hands-on Lab 12 min
Running and Managing Docker Containers
Drive a container through its whole lifecycle, and tell a stopped one from no container.
docker ps -aUpdated 20 Aug 2026
-
Hands-on Lab 14 min
Essential Docker CLI Commands
The dozen commands that cover most days, grouped by what you are trying to find out.
docker inspect --formatUpdated 20 Aug 2026
-
Troubleshooting 12 min
Inspecting Docker Containers and Processes
Answer the four questions you ask when something is wrong, each with its own command.
docker diff webDebugging Updated 20 Aug 2026
-
Concepts 14 min
Docker PID 1, Signals and Graceful Shutdown
Fix why
docker stoptakes ten seconds and ends in exit 137.docker run --initUpdated 20 Aug 2026
Storage and Networking5 guides
Persist data and connect containers to each other and the outside.
-
Hands-on Lab 14 min
Docker Port Publishing and Container Networking
Understand why
-p 8080:80works and why two containers cannot find each other by name.-p 8080:80Updated 20 Aug 2026
-
Hands-on Lab 14 min
Docker User-Defined Networks and DNS
Fix container name resolution with one command, and see what the default bridge does not give you.
docker network createDNS Updated 20 Aug 2026
-
Concepts 12 min
Docker Network Drivers Beyond Bridge
Choose between bridge, host, none, macvlan and overlay, and know what each costs.
--network hostUpdated 20 Aug 2026
-
Hands-on Lab 13 min
Docker Volumes and Bind Mounts
Stop losing data when a container dies, and pick the right one of the two ways.
-v data:/var/lib/appUpdated 20 Aug 2026
-
Hands-on Lab 12 min
Docker Volume Backup and Restore
Back up a named volume that has no export command, using a throwaway container.
tar czf - -C /data .Updated 20 Aug 2026
Dockerfiles and Builds10 guides
Turn a project into a reproducible image.
-
Hands-on Lab 16 min
Building Images with Dockerfiles
Build a five-instruction image, then rebuild and watch the cache turn 0.6s into nothing.
docker build -t app:1 .Updated 20 Aug 2026
-
Concepts 14 min
Dockerfile Instructions in Practice
Settle ARG versus ENV and ENTRYPOINT versus CMD with one Dockerfile that exercises all of them.
ENTRYPOINT vs CMDUpdated 20 Aug 2026
-
Hands-on Lab 12 min
Docker Build Context and .dockerignore
Find the stray 3MB file that made your image 6MB bigger, and stop sending it.
.dockerignoreUpdated 20 Aug 2026
-
Concepts 13 min
Docker Image Layers and Build Cache
Learn why instruction order decides whether your build takes one second or ninety.
---> Using cacheUpdated 21 Aug 2026
-
Best Practices 13 min
Docker Build Cache Mounts and Secrets
Keep a package cache across
--no-cache, and use a secret that never lands in a layer.--mount=type=secretSecurity Updated 21 Aug 2026
-
Hands-on Lab 15 min
Docker Multi-Stage Builds
Leave compilers and package managers out of the thing you ship.
COPY --from=buildUpdated 21 Aug 2026
-
Hands-on Lab 14 min
Docker Image Tagging and Publishing
Learn how an image name is really parsed, and why
:latestis a trap.docker tag / pushUpdated 21 Aug 2026
-
Hands-on Lab 13 min
Docker Private Registry Authentication
Log in properly, then find where Docker just wrote your credentials in plain text.
~/.docker/config.jsonSecurity Updated 21 Aug 2026
-
Hands-on Lab 10 min
Moving Docker Images Without a Registry
Move an image between hosts when a registry is not available.
docker save | docker loadUpdated 21 Aug 2026
-
Hands-on Lab 18 min
Docker Buildx and Multi-Platform Images
Serve amd64, arm64 and arm/v7 from one tag - past the three things that block it.
docker buildx build --platformUpdated 21 Aug 2026
Docker Compose5 guides
Define and run multi-service applications.
-
Hands-on Lab 13 min
Docker Compose Fundamentals
Replace a page of
docker runflags with one file, and learn what Compose names things.compose.yamlUpdated 21 Aug 2026
-
Hands-on Lab 15 min
Docker Compose Multi-Service Applications
Build the shape almost every project takes: an app, a database and a project network.
depends_onUpdated 21 Aug 2026
-
Concepts 13 min
Docker Compose Health Checks and Dependencies
Close the gap between Up and ready, where flaky startups live.
condition: service_healthyUpdated 21 Aug 2026
-
Configuration 14 min
Docker Compose Environment and Secrets
Tell apart four different things all called environment, doing four different jobs.
env_file vs environmentUpdated 21 Aug 2026
-
Best Practices 15 min
Docker Compose Profiles, Overrides and Watch
Turn one Compose file into a workflow with optional services and per-machine overrides.
--profile debugUpdated 21 Aug 2026
Operations and Troubleshooting8 guides
Diagnose, recover and keep disk under control.
-
Configuration 14 min
Docker Daemon Configuration
Change every container on the host safely - and validate before a typo stops Docker starting.
dockerd --validateUpdated 21 Aug 2026
-
Configuration 14 min
Docker Restart Policies and Resource Limits
Stop one container taking the host down with it.
--restart on-failure:3Updated 21 Aug 2026
-
Configuration 12 min
Docker Container Logs and Rotation
Cap logs that grow without limit - measured at 3.3 MB before the fix.
max-size=10mUpdated 21 Aug 2026
-
Best Practices 13 min
Docker Disk Usage and Cleanup
Find where the space actually went. On this host it was the build cache, not images.
docker system df -vUpdated 22 Aug 2026
-
Troubleshooting 16 min
Docker Production Troubleshooting
Recognise the exact wording of the failures you will actually meet, each reproduced on purpose.
exit 137 / 125 / 126Debugging Updated 22 Aug 2026
-
Troubleshooting 13 min
Docker Daemon and Container Events
Get the timeline logs do not give you: health failures, external kills and OOM in one stream.
docker events --since 10mDebugging Updated 22 Aug 2026
-
Hands-on Lab 12 min
Docker Contexts and Remote Hosts
Drive a remote Docker host over SSH instead of exposing the daemon port.
docker context createUpdated 22 Aug 2026
-
Hands-on Lab 15 min
Docker Build Cache in CI/CD
Stop a CI worker rebuilding everything every run by pushing the build cache to a registry.
--cache-to type=registryUpdated 22 Aug 2026
Security and Production4 guides
Least privilege, supply chain and production hardening.
-
Hands-on Lab 13 min
Docker Image Vulnerability Scanning
Read a CVE report, separate base-image findings from yours, then prove the fix.
docker scout cvesSecurity Updated 22 Aug 2026
-
Best Practices 14 min
Docker Image SBOMs and Provenance
Answer "are we affected by this CVE" with a real SPDX SBOM rather than a guess.
docker buildx --sbom=trueSecurity Updated 22 Aug 2026
-
Concepts 12 min
Rootless Docker and Daemon Socket Access
Understand why the docker group is equivalent to root, demonstrated rather than asserted.
/var/run/docker.sockSecurity Updated 22 Aug 2026
-
Hands-on Lab 16 min
Docker Read-Only Containers and Capabilities
Harden nginx to a read-only filesystem and four capabilities, including the two failed attempts.
--cap-drop=ALLSecurity Updated 22 Aug 2026
Swarm and Multi-Host (optional)6 guides
An optional advanced track. Run services across a cluster of machines using the orchestrator built into Docker. Most readers get more value first from Operations and Security.
-
Concepts 13 min
Docker Swarm Cluster Architecture
Use the orchestrator already in the engine you installed - managers, workers and raft.
docker swarm initUpdated 22 Aug 2026
-
Hands-on Lab 14 min
Docker Swarm Services and Scheduling
Declare a desired state instead of a container, and watch six replicas spread.
docker service createUpdated 22 Aug 2026
-
Concepts 14 min
Docker Swarm Overlay Networks and Routing Mesh
See every node answer a published port, including nodes running none of your containers.
docker network create -d overlayUpdated 22 Aug 2026
-
Hands-on Lab 14 min
Docker Swarm Rolling Updates and Rollback
Change the image on a live service and watch tasks replaced a few at a time.
docker service update --imageUpdated 22 Aug 2026
-
Hands-on Lab 12 min
Docker Swarm Node Maintenance and Failover
Take a machine out of service without dropping a request.
docker node update --availability drainUpdated 22 Aug 2026
-
Hands-on Lab 15 min
Docker Swarm Stacks and Secrets
Deploy a Compose file to a whole cluster, and give a password only to the services that need it.
docker stack deploySecurity Updated 22 Aug 2026
Command Cheat Sheets3 sheets
Searchable references for day-to-day work.
-
Reference 7 min
Docker Compose cheat sheet
Compose commands and the file fields that go with them.
docker compose up -dUpdated 22 Aug 2026
-
Reference 8 min
Docker command cheat sheet
The commands you reach for, grouped by the question you are asking.
docker ps / logs / inspectUpdated 20 Aug 2026
-
Reference 7 min
Dockerfile cheat sheet
Every instruction, what it costs in layers, and the common mistake.
COPY vs ADDUpdated 22 Aug 2026