Yours to keep
Clone the repo and come back whenever you like. There is no hosted session timer and nothing disappears when you close the tab.
Docker Practical Lab
Early alpha · 0.1.0-alpha.6
A safe baseline on your own Docker daemon, three sample apps you run before you containerise them, ten self-checked exercises from first container through Compose, and six break-and-fix drills. In your browser with Codespaces, or on your laptop with one command. Free and open source under MIT.
Looking for a Play with Docker replacement? See the Play with Docker alternative. Common questions: Docker FAQ.
Where things stand
This lab is early alpha. The baseline, sample apps, ten self-checked exercises and six break-and-fix drills are ready.
Baseline wrappers
doctor, up, status, reset and registry work today. They only touch resources labelled cloudsprocket.lab=docker.
Three sample apps
A Python API, a Node service with a real build step, and a static site. Each runs on your machine first.
Ten self-checked exercises
From image versus container through Dockerfiles, volumes, non-root, networks, Compose, secrets and a capstone. Run ./lab check NN when you are ready.
Six break and fix drills
Crash loops, port mistakes, network isolation, permissions, Compose health and careful disk cleanup. List them with ./lab drills, then break and verify.
Browser or laptop
Bash and PowerShell wrappers on your machine, or GitHub Codespaces with Docker-in-Docker built in.
Quick start
Same command shape as the other CloudSprocket labs. On Windows without WSL, use lab.ps1 instead of ./lab.
./lab doctor
./lab up
./lab check 01.\lab.ps1 doctor
.\lab.ps1 up
.\lab.ps1 check 01Full walkthrough with sample apps and drills: Docker quick start. Safety and cost questions: Docker FAQ.
Sample apps
Each one is deliberately small, and each one exists because a later exercise needs a real starting point.
python-api
apps/python-api
A tiny HTTP API with health and readiness endpoints, and a data directory later exercises will mount.
node-app
apps/node-app
A Node service that actually builds, so multi-stage image work has something real to trim.
static-site
apps/static-site
Plain HTML and CSS. Later exercises serve the same files with nginx.
What you get
The setup grind is handled for you, so practice time goes on Docker itself.
Clone the repo and come back whenever you like. There is no hosted session timer and nothing disappears when you close the tab.
Lab resources carry a label. Reset removes those and leaves the rest of your Docker work alone, including shared base images.
You run each sample app on the host first, so you know what working looks like before a Dockerfile enters the picture.
Bash and PowerShell wrappers do the same job on every platform. Windows works with or without WSL.
The repo ships a development container, so you can open the lab in GitHub Codespaces inside the free monthly allowance.
Break a container, reset the lab and start again in seconds. Mistakes are the point of a practice lab, so they cost nothing here.
The repository is public under MIT. Clone it, open a Codespace, or send feedback if something in the track does not land cleanly.