Containers in one paragraph
A container is a lightweight, self-contained executable that bundles your application, system dependencies, and configuration into a single deployable unit. Unlike VMs, containers share the host kernel — measured in MBs, not GBs.
Why teams pick containers
- System dependencies are pinned to known versions — “works on my machine” becomes a non-issue.
- Configuration is bundled, so environments stay consistent across dev, stage, and prod.
- Standardized tooling means you can build on top of an entire ecosystem instead of one team’s scripts.
Docker engine in three parts
- Docker daemon (
dockerd): manages containers, images, networks, and volumes. - Docker CLI: human interface to the daemon.
- Container runtime: containerd / CRI-O under the hood via the CRI plugin.
Common commands
docker build .
docker build . --no-cache
docker run -e PORT=8080 my-image
docker ps
docker kill <container_id>