Introduction to Docker & Containers
Docker is an open-source platform that enables developers to package applications and their dependencies into lightweight, portable units called containers.
The Gold Standard: "It works on my machine" is a thing of the past! Docker ensures that your application runs identically on local dev laptops, staging servers, and cloud production environments.
Containers vs Virtual Machines (VMs)
Unlike traditional Virtual Machines that require a full guest Operating System (OS) hypervisor, Docker containers share the host machine's OS kernel while isolating application processes.
| Feature | Docker Containers | Virtual Machines (VMs) |
|---|---|---|
| Architecture | Shares host OS Kernel (Lightweight process isolation) | Requires full Guest OS + Hypervisor (Virtualbox/VMware) |
| Startup Time | Seconds / Milliseconds | Minutes |
| Resource Usage | Minimal (Megabytes of RAM) | High (Gigabytes of RAM & CPU reserved) |
| Portability | Runs anywhere Docker Engine is installed | Dependent on VM hypervisor formats (.vmdk / .qcow2) |
Core Docker Vocabulary
- Docker Engine: The background client-server runtime daemon that builds and runs containers.
- Docker Image: An immutable read-only blueprint template (like a class in OOP).
- Docker Container: A runnable, isolated instance of a Docker image (like an object instance in OOP).
- Docker Hub: A cloud registry repository storing millions of pre-built public images (e.g. Node.js, Python, PostgreSQL, Nginx).
Ready to Get Started?
Learn how to install Docker Desktop on Windows, macOS, or Docker Engine on Linux.
Next Lesson: Installation & Setup →