Docker Scenario Labs
Debug Dockerfiles, fix multi-stage builds, and repair container configs
How It Works
Each lab drops you into a broken config. Your job: find the bug and fix it.
Read the Scenario
Understand what went wrong — a teammate pushed broken config and CI is failing.
Debug in the Terminal
Run the tool, read the errors, and trace them back to the source.
Fix & Verify
Edit the config, re-run the check, and confirm a clean result.
Beginner
4 labsStart here — core concepts and simple fixes
Fix Base Image Reference
Fix a broken FROM instruction and WORKDIR typo in a Node.js Dockerfile.
Fix Docker Compose File
Fix broken service references, environment variables, and networking in a docker-compose.yml.
Fix COPY Instructions
Fix incorrect COPY source and destination paths in a Python Flask Dockerfile.
Fix .dockerignore
Optimize a bloated Docker image by fixing .dockerignore to exclude unnecessary files.
Intermediate
3 labsLevel up — multi-resource configs and debugging
Fix Environment Variables
Fix incorrect ARG vs ENV usage — build-time variables used at runtime cause the app to crash.
Fix EXPOSE and CMD
Fix a port mismatch between EXPOSE and the app, and correct CMD exec form syntax.
Fix Health Check Configuration
Add a HEALTHCHECK instruction and fix a broken health endpoint for production readiness.
Advanced
3 labsExpert mode — complex configurations and edge cases
Fix Layer Caching Order
Reorder Dockerfile instructions to leverage Docker layer caching and speed up builds.
Fix Multi-Stage Build
Fix broken COPY --from references and wrong base image in a multi-stage Go Dockerfile.
Fix User and Permissions
Add a non-root user to a Dockerfile that currently runs as root — a critical security fix.