IND 505 · 3 credits
Course Outline
Docker, CI/CD & Deployment
Docker, CI/CD, and deployment from zero. Learn why software breaks when it moves between machines and how containers fix that, then run containers, write Dockerfiles, wire multi-service apps with Compose, and ship images to a registry. From there you build real automation: GitHub Actions pipelines that test, build, and deploy on every push, plus secrets, rollbacks, and an honest comparison of where apps actually run. Ends with a full capstone that containerizes and pipelines a small app end to end.
What you will learn
- ✓Explain what problem containers solve and how an image differs from a container and a virtual machine
- ✓Run, inspect, and debug containers with docker run, ps, logs, and exec
- ✓Write cache-friendly Dockerfiles and keep images small with slim bases and multi-stage builds
- ✓Persist data with volumes and connect containers over Docker networks
- ✓Describe a multi-service app in a docker-compose.yml and run it with one command
- ✓Tag and push images to a registry with a sane versioning scheme
- ✓Read and write a GitHub Actions workflow that tests and builds on every push
- ✓Design a build, test, deploy pipeline with secrets, environments, and a rollback plan
- ✓Choose between a VM, a PaaS, and serverless for a real project and defend the choice
Course outline
Unit 1The works-on-my-machine problem
- 1-1Why software breaks on other machines4 checks · 12 min
- 1-2Images and containers2 checks · 12 min
- 1-3Containers vs virtual machines3 checks · 11 min
Unit 2Running containers
- 2-1Your first docker run3 checks · 12 min
- 2-2Ports, names, and detached mode3 checks · 13 min
- 2-3Logs, exec, and the container lifecycle2 checks · 11 min
Unit 3Building images
- 3-1Your first Dockerfile3 checks · 14 min
- 3-2Layers: how images are really stored3 checks · 13 min
- 3-3The build cache and .dockerignore3 checks · 12 min
- 3-4ENTRYPOINT, ENV, and ARG3 checks · 11 min
Unit 4Data and networking
- 4-1Volumes and bind mounts3 checks · 13 min
- 4-2Container networking3 checks · 13 min
- 4-3Housekeeping: disk usage and cleanup2 checks · 10 min
Unit 5docker compose: multi-service apps
- 5-1One file for the whole app4 checks · 12 min
- 5-2App plus database, wired properly3 checks · 12 min
- 5-3Compose day to day3 checks · 11 min
Unit 6Registries and shipping images
- 6-1Tags, push, and pull5 checks · 12 min
- 6-2Image size hygiene3 checks · 12 min
Unit 7CI from zero
- 7-1What continuous integration is5 checks · 11 min
- 7-2GitHub Actions, decoded line by line3 checks · 12 min
- 7-3Fail fast: test, then build4 checks · 11 min
Unit 8CD, secrets, and rollbacks
- 8-1From CI to CD: the pipeline3 checks · 10 min
- 8-2Secrets and environments4 checks · 11 min
- 8-3Rollbacks: when the deploy goes wrong3 checks · 11 min
Unit 9Deploying for real
- 9-1Where apps actually run3 checks · 11 min
- 9-2Health checks and staying alive3 checks · 10 min
- 9-3Resource limits: memory, CPU, and exit code 1373 checks · 10 min
Unit 10Capstone: ship an app end to end
- 10-1Capstone part 1: containerize the app3 checks · 13 min
- 10-2Capstone part 2: the pipeline4 checks · 13 min
Practice while you learn
Use Hack University's public online code editor when you want to run code online before committing to the full curriculum. The browser compilers are free for quick syntax checks, exercises, and interview practice in an isolated sandbox environment.