DockerQuest is a terminal-based learning game to practice Docker from basics to production debugging.
You learn commands, investigate broken container scenarios, apply fixes, and validate your results.
- 25 challenge levels across 5 worlds
- Teach Me Docker mode with progressive command lessons
- I Know Docker mode for hands-on incident fixing
- Rule-based validation using real Docker container state
- XP/progress tracking with level and world progression
- Core Docker CLI: run, ps, logs, exec, inspect, stop/start/rm
- Container config: ports, env vars, volumes, restart policies
- Image workflows: build, tag, push, history, digest awareness
- Networking: bridge/custom networks, DNS, connectivity checks
- Security hardening: root user, mounts, capabilities, read-only FS
- Production operations: healthchecks, logging drivers, resource limits
- Python 3.8+
- Docker Desktop (or Docker Engine) running
git clone https://github.com/KanaparthyPraveen/DockersQuest
cd DockerQuest
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .python main.pyOr use the CLI entrypoint:
dockerquest- Start Docker Desktop / Docker Engine.
- Launch DockerQuest.
- Choose a mode:
- Teach Me Docker: command-first learning path
- I Know Docker: incident challenges and validation
- Use Another terminal to run Docker commands.
- Use
validatein challenge levels to check fixes.
- Keep Docker running before launching the app.
- Progress is saved locally and resumes automatically.
- If a challenge container already exists, DockerQuest re-provisions it.
- Architecture:
ARCHITECTURE.md - Contributor guide:
CONTRIBUTING.md - Level design:
docs/level_design.md - Error handbook:
docs/docker_error_handbook.md
GNU General Public License v3.0 (GPL-3.0)
