Glossary · Definition
Docker
Docker packages an app plus its OS-level dependencies into a portable container — a lightweight, isolated process that runs the same way on every host. The image is the recipe; the container is a running instance.
Definition
Docker packages an app plus its OS-level dependencies into a portable container — a lightweight, isolated process that runs the same way on every host. The image is the recipe; the container is a running instance.
What it means
Containers use Linux kernel features (namespaces, cgroups) to isolate processes without the overhead of a full VM. A Dockerfile lists the layers — base image, copied files, installed packages, run commands — that build into an image. Images are immutable and shared via registries (Docker Hub, GHCR, ECR). When you `docker run` an image, the runtime starts a container — same image can spawn many independent containers. Modern alternatives — Podman, containerd, BuildKit — speak the same OCI image format, so 'Docker' is shorthand for 'OCI containers' more than a specific brand.
Advertisement
Why it matters
Containers eliminate 'works on my machine' bugs by shipping the exact runtime environment with the app. They're the unit of deployment for Kubernetes, ECS, Cloud Run, Fly, Railway. Local development with Docker Compose lets a team boot the full stack — app + database + cache — with one command. The cost: image size discipline (every layer adds bytes; multi-stage builds matter), security patching (a base image is your responsibility to keep current), and an extra concept layer between your code and the host.
Frequently asked questions
Container vs VM?
VMs virtualize hardware and run a full OS each. Containers share the host kernel and isolate at the process level — typically 10-100x less overhead per workload.
Docker vs Kubernetes?
Docker builds and runs single containers. Kubernetes orchestrates many containers across many machines — scaling, networking, scheduling, self-healing.
Why multi-stage builds?
Build-time tools (compilers, dev dependencies) bloat the final image. Multi-stage Dockerfiles let you build in one stage and copy only the artifacts into a slim runtime stage — often 10x smaller images.
Related terms
- DefinitionKubernetesKubernetes (k8s) orchestrates many containers across many machines. You declare the desired state — 'run 3 replicas of this image, expose this port, restart on crash' — and the control plane keeps reality matching it.
- DefinitionCI/CDCI/CD is the automation that turns 'I pushed code' into 'it's tested, built, and deployed'. CI (continuous integration) runs tests + builds on every commit; CD (continuous delivery / deployment) ships the result to staging or production automatically.