Previous: Module 18 — CI/CD Pipelines | Next: Module 20 — Interview Prep
Module 19 is a hub, not a lecture. You have already learned Docker fundamentals, Compose, security, orchestration, and CI/CD in Modules 00–18. Here you apply that knowledge in eight production-style projects under projects/.
Each project includes a README.md, runnable app code, optimized Dockerfile(s), docker-compose.yml, and a step-by-step docs/walkthrough.md.
- You finish Module 18 (or at minimum Modules 04–10 and 18 for registry/CI topics).
- Docker Engine 25+ and Compose v2 plugin installed (
docker compose version). - Enough disk space for multiple images (~2–4 GB total).
| Order | Project | Docker concepts you practice |
|---|---|---|
| 1 | Project 01 — Node.js Web App | Multi-stage build, non-root user, health checks, Postgres in Compose |
| 2 | Project 02 — Python Flask App | Gunicorn, Redis cache, multi-stage Python image |
| 3 | Project 03 — React App | Build-time ARG/ENV, nginx static serving |
| 4 | Project 04 — Microservices | User-defined networks, API gateway, inter-service DNS |
| 5 | Project 05 — ML Model Serving | Larger images, GPU-optional patterns, inference API |
| 6 | Project 06 — GitHub Actions CI/CD | Workflow secrets, build/test/push on push |
| 7 | Project 07 — Jenkins CI/CD | Local Jenkins in Compose, Jenkinsfile, registry push |
| 8 | Project 08 — Cloud Deployment | ECS Fargate, Cloud Run, Azure Container Instances |
Projects 06–07 extend Project 01’s app. Project 08 deploys the microservices stack from Project 04.
- Read the project
README.mdfor goals and architecture diagram. - Follow
docs/walkthrough.mdcommand by command—do not skip verification steps. - Change one variable at a time (port, env, replica count) and observe behavior.
- Break something on purpose (wrong
DATABASE_URL, stopped dependency) and fix it using Module 13 troubleshooting habits. - Optional: fork the pattern into your own repository and wire your registry credentials.
- Per project: 60–120 minutes
- All eight projects: 12–20 hours (spread over several days)
Link: projects/project-01-nodejs-app/README.md
Dockerize an Express REST API with a multi-stage Dockerfile, non-root user, container health check, and Compose stack including PostgreSQL.
Link: projects/project-02-python-flask-app/README.md
Run Flask behind Gunicorn in a slim production image, with Redis for caching and a full Compose file for local development.
Link: projects/project-03-react-app/README.md
Build the SPA with Node in stage one, serve static assets with nginx in stage two, and inject build-time configuration via ARG and ENV.
Link: projects/project-04-microservices/README.md
Three services—nginx gateway, Node user service, Python order service—on a user-defined bridge network with service discovery by name.
Link: projects/project-05-ml-serving/README.md
Package a model inference API, manage heavier dependencies, and expose predictable HTTP endpoints for batch or real-time scoring.
Link: projects/project-06-cicd-github-actions/README.md
Automate build, test, and push for the Node app using GitHub Actions secrets and the patterns from Module 18.
Link: projects/project-07-cicd-jenkins/README.md
Run Jenkins locally via Compose, configure credentials, and execute a Jenkinsfile pipeline equivalent to Project 06.
Link: projects/project-08-cloud-deployment/README.md
Deploy the microservices system to AWS ECS (Fargate), Google Cloud Run, and Azure Container Instances—each with scripts and a provider-specific walkthrough.
When all eight projects run cleanly on your machine, move to Module 20 — Interview Prep for structured Q&A and scenario practice.
Previous: Module 18 — CI/CD Pipelines | Next: Module 20 — Interview Prep