Docker
Docker is a container platform. It bundles an app with everything it needs to run: code, runtime, system libraries, and config. The image runs the same way on any machine with the Docker Engine. Solomon Hykes shipped the first version in March 2013. The model spread fast enough that 'containerized' became the default way to ship software. The engine itself is open source under Apache 2.0.
You write a Dockerfile, which is a recipe. Run `docker build` and Docker turns it into an image, tagged and ready to ship. `docker run` spins that image up as a container, an isolated process with its own filesystem and network. Multi-service apps go in a docker-compose.yml so one command boots a whole stack of database, cache, queue, and web tier. Images live in registries. Docker Hub is the default, but you can run your own with Harbor or a private GitLab registry.
On Linux, the Docker Engine runs natively. On Mac and Windows it ships through Docker Desktop, which runs the engine inside a small Linux VM and adds a GUI, Kubernetes, and Docker Scout for image scanning. Desktop is free for personal use, education, non-commercial open source, and small companies. Once a company crosses 250 employees or $10 million in revenue, it needs a paid subscription: Pro at $9 per user per month, Team at $15, or Business at $24, all on annual billing. Plenty of teams skip Desktop entirely and run Podman or OrbStack on Mac instead.
- Dockerfiles describe images as a stack of build steps
- docker build, docker run, docker compose, all from one CLI
- Local Kubernetes included in Docker Desktop
- Docker Hub plus private registries on paid tiers
- Docker Scout flags known CVEs in your images
- Buildx for multi-arch builds, Build Cloud for remote ones
- Volumes for state, networks for inter-service traffic
- Linux-native engine, or a managed VM on Mac and Windows
- Free for personal use, paid for companies past 250 employees or $10M revenue
Simplifies the Docker workflow on macOS enormously. Kubernetes integration is a bonus for local testing.
Great tool technically, but the licensing change for larger companies is a dealbreaker. Consider Rancher Desktop as a free alternative.