Skip to content
Salil Overflow
Go back

Docker in Containerland™ Is Still Just a Box

Originally published in May 2019. Rewritten in October 2026, with more sarcasm and fewer exclamation marks.

Containerland

The 30-Second Reality Check

Docker puts your app and its dependencies in a box that runs the same anywhere. Kubernetes moves the boxes when a machine dies. Most of the rest of “cloud native” is YAML, conference talks and a wall of logos.

Explain With Pictures

  One machine (docker compose)        Many machines (Kubernetes)

  +---------------------------+       +---------+  +---------+  +---------+
  |  [ web ]  [ db ]  [cache] |       | [web]   |  | [web]   |  |  [db]   |
  |                           |       | [cache] |  |         |  |   ^     |
  |  "docker compose up"      |       +---------+  +----X----+  +---|-----+
  +---------------------------+                         |           |
                                          node dies --> +-- [web] --+
  Your laptop. Happy.                   Kubernetes moves the box. You sleep.

The box is easy. The hard part is everything about where the boxes run, and that’s the part you pay for in complexity.

3 Hot Takes & Quotes

1. Half of my 2019 advice aged well.

I would recommend to use docker-compose for local development and Swarm/Kubernetes in production. (me, 2019)

Compose for local dev: still right. “Swarm/Kubernetes” in production: the industry has since voted, and it wasn’t for the slash. Swarm still exists, but Kubernetes became the default for orchestration. Hedging between two tools in a recommendation is how you know it was written before the war ended.

2. Kubernetes is still a beast. You just don’t need to ride all of it.

It is a beast, but it’s a glorious beast. You don’t need to use all of it but you are well served in using it and learning it. (me, 2019)

Still true, with one upgrade: most teams don’t need to run the beast at all. If your whole product is three containers and a database, a managed platform beats a hand-rolled cluster. You don’t get extra credit for operating your own control plane.

3. The sneakernet never dies.

you can do a docker save/ docker load and transfer via ssh/scp over your internal network (me, 2019)

In locked-down networks, the most advanced container workflow in the world still ends with someone copying a tarball over SSH. Every “secure environment” eventually rediscovers the floppy disk.

The Post-Mortem / Verdict

Docker turned “works on my machine” into “ships my machine”, which turned out to be good enough to change the industry. Learn the box first. Reach for Kubernetes when you have more boxes than you can babysit, not because a job ad said so.


Share this post:

Previous Post
Monk vs Master (Ten Years of Experience, or One Year Ten Times?)
Next Post
Why Redux Won the Flux Wars (and Then Got Declared Dead, Annually)