Module 01 of 11

Introduction to Containers

Lessons

About This Module

Before you write a single Dockerfile, you need a clear mental model of what a container actually is. This module is that on-ramp: it's short, but everything later in the course builds on it.

It starts with what a container is and why we need them: the "it works on my machine" problem, and how packaging an app with its runtime and dependencies solves it. It then compares bare metal, virtual machines, and containers, since a container shares the host's kernel while a VM brings its own, which is why containers are so much lighter. It closes with how Docker relates to the OCI standards, the open specifications for container images and runtimes that keep containers portable across tools.

Watch the lessons in order, then continue on to Prerequisite Knowledge.

Lessons

5 videos
01

What Are Containers? (and Where Docker Fits)

A look at what a container really is, what makes it work, and where Docker fits into the picture. The right place to start.

02

Why Do We Need Containers?

Why applications that run perfectly on a developer's machine can fail in production, and how containers remove that gap by shipping the environment with the app.

03

Virtual Machines vs Containers Explained

How running an app directly on a machine, in a virtual machine, and in a container compare, and the advantages containers bring.

04

How Docker Really Works Under the Hood

What actually happens under the hood when you run a container, a good companion for understanding how Docker relates to the container standards and runtimes beneath it.

05

Docker Tutorial for Beginners (Full Course)

A full end-to-end beginner course with hands-on labs that ties this module together and previews the rest of the Docker curriculum.