Docker Cheat Sheet

Every Docker term explained in plain English

25 terms

Build Context
In Docker, the set of files and directories sent to the Docker daemon when building an image — defined by the path (or URL) argument to docker build — which determines what files COPY and ADD instructions can access.
Cgroups
Control Groups — a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network) of process groups. One of the two pillars of container technology (alongside namespaces). Docker and Kubernetes use cgroups to enforce container resource limits.
Container
A container is a lightweight, standalone executable package that bundles application code with everything needed to run: runtime, system tools, libraries, and configuration. Unlike virtual machines, containers share the host OS kernel rather than running a full guest OS, making them faster to start
Docker
Docker is a platform for building, shipping, and running applications inside lightweight, isolated environments called containers. A container packages an application along with its dependencies, libraries, and configuration files into a single portable unit that runs consistently across development
Docker All the Things
A joking phrase for applying Docker or containerization to everything, sometimes wisely and sometimes with trend-driven excess. In engineering slang, it carries the familiar 'X all the things' mix of enthusiasm and mockery.
Docker Compose
A Docker Compose is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstractio
Dockerfile
A Dockerfile is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstractions,
Docker Image
A Docker Image is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstractions
Dockerize
To package an application and its dependencies into a Docker container. 'Can you Dockerize the service by end of day?' has replaced 'can you write deployment docs?'
Docker Network
A Docker Network is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstractio
Docker Registry
A Docker Registry is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstracti
Docker Security
The set of practices and controls used to secure container images, runtimes, registries, and hosts in Docker-based environments. It includes image provenance, least-privilege execution, secret handling, and isolation between containers and the host.
Docker Swarm
A Docker Swarm is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstractions
Docker Volume
A Docker Volume is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to reason about, integrate, and operate as projects grow. It usually matters most when teams need predictable behavior, clearer abstraction
Image
In containerization, a lightweight, standalone, read-only template containing an application and all its dependencies, from which containers are instantiated. Docker images are built from Dockerfiles and stored in registries.
Init Container
A specialized container in a Kubernetes pod that runs to completion before the main application containers start. Used for setup tasks like waiting for a database, running migrations, downloading config files, or setting file permissions.
Moby
The open-source project providing core container technology components associated with Docker and related tooling. In container culture, Moby represents the underlying toolkit and community side of technology many users encounter first through branded products.
Multi-Arch Build
A container image build process — typically using Docker Buildx — that compiles and packages the same Dockerfile for multiple CPU architectures (e.g., amd64 and arm64) and publishes them under a single manifest list, allowing any host to pull the correct variant automatically.
Multi-Stage Build
A Dockerfile technique that uses multiple `FROM` statements to create intermediate build stages — compiling code and installing dev dependencies in early stages and copying only the final artifacts into a slim runtime image — dramatically reducing the production image size and attack surface.
Namespace
A Linux kernel feature that isolates and virtualizes system resources for a group of processes. Types include PID (process IDs), network (network stack), mount (filesystems), user (user/group IDs), UTS (hostname), and IPC (inter-process communication). The isolation foundation of containers — each c
Snap Package
A self-contained Linux application bundle developed by Canonical that packages the binary along with all its dependencies into a single squashfs archive, runs in a sandboxed environment with AppArmor confinement, and auto-updates from the Snap Store.
Swarm
Docker Swarm — Docker's native container orchestration tool, offering simpler setup than Kubernetes at the cost of fewer features. The 'we don't need Kubernetes, this is fine' option. Also used generically for coordinated multi-agent systems.
Test Container
A library (most commonly Testcontainers for Java, Python, Node, Go, and .NET) that programmatically spins up lightweight Docker containers for dependencies like databases, message brokers, or caches during integration tests, providing real service instances instead of mocks and tearing them down whe
Volume
A persistent storage unit managed by a container runtime (such as Docker or Kubernetes) that exists independently of any single container's lifecycle, allowing data to survive container restarts, removals, and re-creations.
Volume Mount
The act of attaching a volume or host directory to a specific path inside a container, making external storage accessible to the containerized application as if it were a local directory.