Skip to content
Free Tool Arena

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.

Updated May 2026 · 4 min read
100% in-browserNo downloadsNo sign-upMalware-freeHow we keep this safe →

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