Docker
What Are We Trying to Accomplish?
Modern software engineering relies heavily on consistent, reproducible environments. This lesson introduces Docker as a foundational tool for building, shipping, and running applications using containerization.
Students will learn why Docker exists, what problems it solves, and how to practically leverage containers in real-world development workflows. By the end of this lesson, students will not only understand Docker conceptually but will also have hands-on experience building images, running containers, and connecting local development environments to containerized systems.
Lectures & Assignments
Lectures
Assignments
Terminal Learning Objectives
- Navigate and inspect running containers
- Write and run basic Dockerfiles
- Connect local development files to containers
- Apply Docker best practices in small projects
Enabling Learning Objectives
- Explain containerization and its benefits
- Compare containers and virtual machines
- Describe the Docker image lifecycle