~/nyuma.dev

Developers are ditching Docker

Engineers are moving to faster, leaner, and more secure alternatives in 2025

5 mins read

Docker _was_ the undisputed king of containers. For years, saying "Docker" was basically synonymous with containers themselves. But in 2025? I can't say it's still the definitive option it once was.

Let's talk about why developers are moving on to newer, shinier things.

Is Docker Still the Go-To?

I don't (since I only started coding recently) remember when docker was the new kid on the block.

But, I do know it revolutionized how we build, ship, and run applications. But like all tech darlings, its reign wasn't meant to last forever. These days, developers are swapping Docker out for alternatives that are faster, more secure, and better suited for modern cloud-native workflows.

So off the bat - is Docker dead? Nah. But it's definitely getting shown up in areas that matter most today: performance, security, and cost.


The Docker Dilemma

Important

Docker's recent moves have left many developers scratching their heads, from licensing changes to architectural decisions that feel out of step with where the industry's headed.

1. That Docker Desktop Paywall

Docker's decision to put Docker Desktop behind a paywall for larger companies was... controversial, to say the least. What was once free suddenly came with a price tag, and not everyone was convinced it was worth it.

This move didn't just annoy people (including me); it made us question our reliance on Docker altogether. Like let's be so for real. When free alternatives exist, why pay?

2. Performance Woes (Especially on macOS/Windows)

Docker runs great on Linux. But for macOS and Windows users, it has been a constant uphill battle. The VM-based approach leads to sluggish performance, CPU spikes, and battery drain, especially when you're juggling multiple containers.

Newer tools like Lima (used by Finch) offer better performance without Docker Desktop's bloat. They claim to offer less waiting, and enable more coding. Although, I do question the integrity when these are captalistic companies.

3. The Root Daemon Problem

Security Red Flag

• Single root-level daemon controls everything
• Requires elevated privileges
• Bigger attack surface
• Compliance nightmare

Docker's reliance on a root-level daemon has always been a security concern. While they've added features like rootless mode, I've started noticing that teams prefer alternatives built with security in mind from the start, like Podman (which runs without a daemon entirely).

4. Monolithic in a Modular World

Docker's ecosystem grew fast: Engine for containers, Swarm for orchestration, Hub for registries. We call this "tightly coupled". At first, this all-in-one approach was a selling point for me.

But today's cloud-native world favors specialized, loosely coupled tools. Kubernetes dominates orchestration. Helm handles packaging. Containerd focuses solely on container management. Docker's broad-but-opinionated tooling now feels more limiting than helpful in many cases, unless you go all-in.

5. Vendor Lock-In Fears

Developers have grown wary of getting locked into Docker's proprietary ecosystem. Even Dockerfiles-while everywhere, they aren't fully open like the OCI specs. It's funny, because when AWS locks us in as devs, we all just shrug and say “well, it's AWS, what can you do?” But with Docker, that lock-in comes with real tradeoffs: less flexibility, more risk, and alternatives out there that don't tie you down quite so tightly. In a world obsessed with portability, that makes some engineering teams in my experience extra cautious.


The New Contenders

RuntimeSuperpowerBest For
PodmanSecurityProduction, regulated environments
containerdPerformanceKubernetes clusters
CRI-OKubernetesOpenShift, minimal setups
Lima/FinchDev ExperiencemacOS users

Podman: The Secure Alternative

Podman's big selling point? No daemon. It uses a fork/exec model that's inherently more secure. Plus, it supports rootless containers out of the box, no sudo required.

The best part? Its CLI is nearly identical to Docker's, so switching is painless.

containerd: Kubernetes' BFF

Originally part of Docker, containerd is now Kubernetes' default runtime. It's lightweight, scalable, and does one thing well: managing containers. Cloud providers like AWS, GCP, and Azure all use it under the hood.

CRI-O: Kubernetes Purist

CRI-O is built specifically for Kubernetes. Nothing more, nothing less. It strips away everything unnecessary, making it lean and secure. Red Hat OpenShift uses it by default.

Lima & Finch: macOS Magic

Docker Desktop's performance issues on macOS led to tools like Lima and Finch. Finch, backed by AWS, offers a seamless alternative without the licensing headaches.

Other Cool Kids

nerdctl: Docker-like commands for containerd
Buildah: Build images without a daemon
Firecracker: AWS's microVM tech for serverless


So... Should You Still Use Docker?

Stick With Docker If:

• You're developing locally and want a familiar workflow
• Your team relies heavily on Docker Compose
• You're working on simple, non-Kubernetes projects

Look Elsewhere If:

• You're running Kubernetes (use containerd/CRI-O)
• Security is a top priority (try Podman)
• You're on macOS and want better performance (Finch)
• You prefer open standards over proprietary tools

A popular middle ground? Use Docker for local development and switch to alternatives like Podman or containerd in production.

The Future of Containers

Docker isn't going anywhere; it's just no longer the only game in town. The container ecosystem is maturing, with more options that are modular, open, and designed with security in mind.

Docker paved the way. Now, it's up to the next generation of tools to push things forward.


TL;DR

Docker's still useful, but alternatives like Podman and containerd are winning developers over with better performance, enhanced security, and alignment with modern cloud-native workflows. The container world is growing up, and that's a good thing.