Practice brief
The Container Concept Exercises
Before any Docker work, get your environment ready. Install Docker, clone the TaskFlow Lab repository from GitHub, and confirm the app runs on your machine. This is the baseline everything else builds on.
Build from scratch
Set Up Your Lab Environment
Every exercise in this course runs against TaskFlow Lab — a Node.js application that starts with no Docker setup and gains Docker features module by module. Before Module 2 you need two things in place: Docker running on your machine, and TaskFlow Lab cloned from GitHub and working locally. This exercise gets both done. It is the only setup step before the rest of the course begins.
Done when
Try it yourself first. Open the guided path if you get blocked.
Step 1 — Install Docker
macOS and Windows: download and install Docker Desktop from docker.com/products/docker-desktop. Linux: follow the Docker Engine install guide for your distribution at docs.docker.com/engine/install. After installation, start Docker Desktop on macOS or Windows. On Linux, verify the daemon is running with sudo systemctl status docker.
Step 2 — Verify Docker is running
docker --version
docker info docker --version confirms the CLI is installed. docker info confirms the daemon is reachable. If docker info hangs or errors, Docker Desktop has not finished starting — look for the whale icon in your menu bar and wait for it to stop animating before retrying.
Step 3 — Run hello-world
docker run hello-world This pulls a small test image, runs it, prints a confirmation message, and exits. It proves Docker can pull images from Docker Hub and run containers on your machine. If this passes, Docker is fully operational.
Step 4 — Choose where the lab repo will live
mkdir -p ~/learndocker-labs
cd ~/learndocker-labs Keep the lab repo somewhere stable, not inside this website repo and not inside a temporary downloads folder. The examples below use ~/learndocker-labs, but any normal projects directory is fine.
Step 5 — Clone TaskFlow Lab from GitHub
git clone https://github.com/learn-devops-sre/taskflow-lab.git
cd taskflow-lab This downloads the public TaskFlow Lab repository to your machine. This is the application you will containerise across all fourteen modules. Keep the cloned directory in place because every exercise from Module 2 onwards runs inside it.
Step 6 — Install dependencies and verify the app runs locally
npm install
npm run verify:local npm install downloads the Node.js packages TaskFlow needs. npm run verify:local starts the API, checks that it responds, and exits cleanly. If it passes you are ready for Module 2. If it fails, check your Node.js version — TaskFlow requires Node 20 or newer. Run node --version to confirm.