Docker
Also known as: Docker Engine
Docker is a platform for building, sharing, and running software containers, which package an application with everything it needs.
Developers write a simple recipe called a Dockerfile, build it into an image, and run it on a laptop, server, or cloud with consistent results. Docker Hub hosts millions of ready-made images. While Docker made containers mainstream, Docker Desktop requires a paid subscription for larger companies, and alternatives such as Podman exist.
Docker, explained at three levels
At home
Docker is like a shipping company for software. It packs apps into standard boxes that can be delivered and opened anywhere.
At work
Docker helps developers ship software that behaves the same on every computer, reducing deployment problems.
At home
Home server enthusiasts use Docker to run apps such as media servers and ad blockers with a single command.
At work
A Dockerfile defines how to build an image. Images are stored in registries and run as containers. Docker Compose defines multi-container apps in one YAML file.
At home
Images on Docker Hub can contain malware or cryptocurrency miners. In my opinion, use official or verified images whenever possible.
At work
Check Docker Desktop licensing obligations, scan images, use minimal base images, avoid running as root, pin image versions, and use private registries for internal images.
Real-world examples
At home
Lena set up a home photo backup app using Docker. She copied one command from the documentation and had it running in minutes.
At work
Jerome manages development tools at a Saskatoon software company. After reviewing Docker's licensing terms, he bought subscriptions for developers using Docker Desktop.
How it compares
| feature | Docker | Kubernetes |
|---|---|---|
| What it is | Tool to build and run containers | System to manage many containers |
| Scale | One machine | Many servers |
| Complexity | Easier | Much more complex |
| Typical user | Developers | Operations and platform teams |
Docker builds and runs containers. Kubernetes runs them at scale.
For analysts
When teams adopt Docker, I'd check licensing early. Docker Desktop's paid tiers surprise many mid-sized companies during audits.
History & origin
Solomon Hykes unveiled Docker at the PyCon conference in March 2013, created at his company dotCloud, which soon renamed itself Docker Inc. Docker built on existing Linux container features but made them simple, triggering rapid adoption across the software industry. Docker Hub became a central registry for images, and in 2015 Docker helped form the Open Container Initiative to standardize container formats. Docker sold its enterprise business to Mirantis in 2019 and refocused on developers. In August 2021, it began requiring paid subscriptions for Docker Desktop at companies with more than 250 employees or $10 million US in revenue. In my view, Docker's greatest achievement was making a complicated technology feel easy.