Skip to content

Repository files navigation

Application Integration with Docker and Kubernetes

Hands-on labs and courseware for the WSQ course Application Integration with Docker and Kubernetes by Tertiary Infotech Academy Pte. Ltd.

Course Code: TGS-2021010366 · Duration: 2 days (9:00 AM – 6:00 PM, 8 training hours/day)

🎓 WSQ – Application Integration with Docker and Kubernetes

Course Code: TGS-2021010366 Register: https://www.tertiarycourses.com.sg/wsq-application-integration-with-docker-and-kubernetes.html

Throughout the course you build and deploy one realistic application — TaskBoard, a Flask task-tracker backed by Redis and PostgreSQL — taking it from a single container, to a multi-service Docker Compose stack, to a scalable Kubernetes deployment. The shared app lives in labs/app/.

Topics covered

Day 1 — Docker: fundamentals & commands · Dockerfile & image build · CMD vs ENTRYPOINT · storage (volumes & bind mounts) · networking · configuration · Docker Hub · Docker Compose.

Day 2 — Kubernetes: Pods · Namespaces · Deployments · rolling updates & rollbacks · Services · storage (PV/PVC) · Jobs & CronJobs.

Day 1 — Docker labs

Lab Topic What you build
01 Docker commands Run & manage an nginx web server (run/ps/logs/exec/stop/rm)
02 Docker commands Pull images, docker cp a served file, inspect a container
03 Docker build / Dockerfile Build the TaskBoard Flask image
04 Dockerfile best practices .dockerignore + cache-friendly layer ordering
05 CMD vs ENTRYPOINT Package taskboard-cli (fixed ENTRYPOINT, overridable CMD)
06 Storage Persist TaskBoard data with a named volume + bind mount
07 Networking TaskBoard ↔ Redis by DNS on a custom bridge network
08 Environment variables Configure TaskBoard via ENV / -e / --env-file
09 Docker Hub Tag, push and pull the TaskBoard image
10 Docker Compose TaskBoard as a single Compose service
11 Docker Compose TaskBoard + Redis (visit counter)
12 Docker Compose TaskBoard + PostgreSQL + Redis with healthchecks

Day 2 — Kubernetes labs

Lab Topic What you build
13 Pods Create/inspect Pods imperatively & declaratively
14 Namespaces Isolate a dev environment
15 Deployments Scale and self-heal a Deployment
16 Rolling updates & rollbacks Zero-downtime update, then roll back
17 Services ClusterIP (internal) + NodePort (external)
18 Storage emptyDir + PersistentVolume / PVC
19 Jobs & CronJobs Batch Job + scheduled CronJob

Each lab folder has a step-by-step lab.md plus its working files. Every lab also runs in the browser on KillerCoda (link at the top of each lab.md). Practical assessments are in labs/assessments/.

Courseware

The courseware/ folder holds the generated deliverables — all kept 100% in sync from one source:

  • SlidesApplication-Integration-with-Docker-and-Kubernetes-v21.pptx / .pdf
  • Lesson PlanLP-Application-Integration-with-Docker-and-Kubernetes.docx / .pdf
  • Learner GuideLG-Application-Integration-with-Docker-and-Kubernetes.docx / .pdf (and the Markdown mirror LG-Application-Integration-with-Docker-and-Kubernetes.md)

The slides, labs, Lesson Plan and Learner Guide are all generated from a single canonical content module so they never drift apart. The build pipeline is the courseware-build skill (.claude/skills/courseware-build/) — edit labs_data.py and re-run the generators to update everything.

Getting started

# Start with Docker lab 1
cd labs/lab01-docker-commands
# follow the steps in lab.md — or open the KillerCoda link in your browser

Prerequisites

  • Docker Desktop (Docker Engine + Compose)
  • kubectl and a local cluster (minikube / kind) for Day 2 — or just use KillerCoda
  • A free Docker Hub account (Lab 9)

About

WSQ courseware & 19 hands-on labs for Application Integration with Docker and Kubernetes (TGS-2021010366) — build & deploy a real app (TaskBoard) from a single container to Docker Compose to Kubernetes.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages