Skip to content

learnwithdevopsengineer3682/docker-home-lab-series

Repository files navigation

Docker Full Course — 10 Episodes with Labs and Interview Q&A

License: CC BY-NC 4.0 Commercial Use YouTube Newsletter


This repository contains a 10-episode, hands-on Docker course with practical labs and interview preparation. Every episode directory includes:

  • README.md (overview, objectives, quick start)
  • LABS.md (exercises to practice)
  • LABS-ANSWERS.md (solutions)
  • INTERVIEW.md (questions)
  • INTERVIEW-ANSWERS.md (answers)

Stay in the loop and get new labs + answers and interview content:


Episodes Overview

  1. Episode 1 — Docker Setup and Basics
  • Folder: EP1-docker-setup
  • Video: https://youtu.be/yAx17O6lHbw
  • Highlights: Install Docker, run first containers, images vs containers, core CLI (run, ps, logs, exec, stop, rm). Includes a bind-mount lab.
  • Labs & Q&A: EP1-docker-setup/LABS.md, EP1-docker-setup/LABS-ANSWERS.md, EP1-docker-setup/INTERVIEW.md, EP1-docker-setup/INTERVIEW-ANSWERS.md
  1. Episode 2 — Dockerizing a Flask App
  • Folder: EP2-docker-flask
  • Video: https://youtu.be/PaUmQzT0ocs
  • Highlights: Build a minimal Flask image (Python slim), .dockerignore best practices, port mapping, image tagging.
  • Labs & Q&A: EP2-docker-flask/LABS.md, EP2-docker-flask/LABS-ANSWERS.md, EP2-docker-flask/INTERVIEW.md, EP2-docker-flask/INTERVIEW-ANSWERS.md
  1. Episode 3 — Docker Networking (Flask + Postgres)
  • Folder: EP3-docker-networking
  • Video: https://youtu.be/DPhumZerj8Y
  • Highlights: User-defined bridge networks, container DNS names, when to publish ports, debugging connectivity.
  • Labs & Q&A: EP3-docker-networking/LABS.md, EP3-docker-networking/LABS-ANSWERS.md, EP3-docker-networking/INTERVIEW.md, EP3-docker-networking/INTERVIEW-ANSWERS.md
  1. Episode 4 — Persistent Volumes
  • Folder: EP4-Persistent-Volumes
  • Video: https://youtu.be/V2HumY93lrM
  • Highlights: Ephemeral container storage vs persistence, named volumes, bind mounts, common pitfalls. See EP4-Persistent-Volumes/commands.sh for a walkthrough.
  • Labs & Q&A: EP4-Persistent-Volumes/LABS.md, EP4-Persistent-Volumes/LABS-ANSWERS.md, EP4-Persistent-Volumes/INTERVIEW.md, EP4-Persistent-Volumes/INTERVIEW-ANSWERS.md
  1. Episode 5 — Crash Loops and Configuration
  • Folder: EP5-Crashloop
  • Video: https://youtu.be/V2HumY93lrM
  • Highlights: Reproduce/fix crashes due to missing env vars, restart policies, healthchecks, secure configuration and secrets.
  • Labs & Q&A: EP5-Crashloop/LABS.md, EP5-Crashloop/LABS-ANSWERS.md, EP5-Crashloop/INTERVIEW.md, EP5-Crashloop/INTERVIEW-ANSWERS.md
  1. Episode 6 — Docker Compose (Flask, Postgres, Nginx)
  • Folder: EP6-Docker-compose
  • Video: https://youtu.be/ErXm01G3sCc
  • Highlights: Define/run multi-container apps, service networking, environment variables, volumes, healthchecks, scaling.
  • Labs & Q&A: EP6-Docker-compose/LABS.md, EP6-Docker-compose/LABS-ANSWERS.md, EP6-Docker-compose/INTERVIEW.md, EP6-Docker-compose/INTERVIEW-ANSWERS.md
  1. Episode 7 — Docker Image Optimization
  • Folder: EP7-Image-optimization
  • Video: https://youtu.be/HBoOJgwA4Co
  • Highlights: Anti-patterns (bloated images), multi-stage builds, cache-friendly layering, .dockerignore, base image trade-offs.
  • Labs & Q&A: EP7-Image-optimization/LABS.md, EP7-Image-optimization/LABS-ANSWERS.md, EP7-Image-optimization/INTERVIEW.md, EP7-Image-optimization/INTERVIEW-ANSWERS.md
  1. Episode 8 — Container Security Basics
  • Folder: EP8-Security
  • Video: https://youtu.be/klbgi1d1UpY
  • Highlights: Non-root users, dropping capabilities, read-only rootfs, minimizing exposure and image surface area.
  • Labs & Q&A: EP8-Security/LABS.md, EP8-Security/LABS-ANSWERS.md, EP8-Security/INTERVIEW.md, EP8-Security/INTERVIEW-ANSWERS.md
  1. Episode 9 — CI/CD with GitHub Actions (Build and Push)
  • Folder: EP9-CICD
  • Video: https://youtu.be/uTMAaF_yLfM
  • Highlights: Build and push to Docker Hub on main. Workflow lives at EP9-CICD/.github/workflows/docker.yml. Secrets required: DOCKER_USERNAME, DOCKER_PASSWORD.
  • Labs & Q&A: EP9-CICD/LABS.md, EP9-CICD/LABS-ANSWERS.md, EP9-CICD/INTERVIEW.md, EP9-CICD/INTERVIEW-ANSWERS.md
  1. Episode 10 — Real-World Stack (Flask, Postgres, Nginx, cAdvisor)
  • Folder: EP10-Real-world
  • Video: https://youtu.be/nWiy6eaS5FU
  • Highlights: Production-like stack with reverse proxy, DB persistence, env files, restart policies, basic monitoring via cAdvisor.
  • Labs & Q&A: EP10-Real-world/LABS.md, EP10-Real-world/LABS-ANSWERS.md, EP10-Real-world/INTERVIEW.md, EP10-Real-world/INTERVIEW-ANSWERS.md

Getting Started

  • Pick an episode folder and follow its README.md for setup.
  • Do the exercises in LABS.md; check your work with LABS-ANSWERS.md.
  • Practice interview topics via INTERVIEW.md and INTERVIEW-ANSWERS.md.

🧾 License & Usage

This repository is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).

You are free to:

  • ✅ Use, modify, and share this project for personal learning or educational purposes.
  • 🚫 Not allowed to use it for commercial, paid, or monetized activities without prior permission.

For commercial usage — including paid courses, internal company training, consulting, or resale —
please contact learnwithdevopsengineer07@gmail.com to obtain a commercial license.
See COMMERCIAL_LICENSE.txt for details.

Attribution Example:

Source: Learn With DevOps Engineer – Docker Home Lab Series
https://github.com/learnwithdevopsengineer3682/docker-home-lab-series.git
Licensed under CC BY-NC 4.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors