Glossary

What Is Docker? Containers Explained

Docker is a platform for building, shipping, and running software in containers — lightweight, isolated environments that include everything an application needs to run: code, runtime, libraries, and configuration. Containers solve the classic 'works on my machine' problem by making the environment reproducible.

Images vs Containers

A Docker image is a read-only template — like a class in object-oriented programming. A container is a running instance of an image — like an object. Images are built from a Dockerfile, a text file that describes the base layer, installed packages, copied files, and startup command. `docker build` creates the image; `docker run` creates a container from it.

Containers vs Virtual Machines

A VM includes a full guest OS (kernel + user space). A container shares the host kernel and only isolates the user space using Linux namespaces and cgroups. Containers start in milliseconds and consume megabytes; VMs start in seconds and consume gigabytes. VMs offer stronger isolation; containers offer density and speed.

Docker Compose and Orchestration

Docker Compose defines multi-container applications in a YAML file — for example, a web server plus a database plus a cache. `docker compose up` starts the whole stack. For production, Kubernetes orchestrates containers across clusters, handling scheduling, scaling, rolling updates, and service discovery. Kubernetes has become the de facto standard for container orchestration at scale.

Try it yourself