| Docker started as a simple, opinionated UX around Linux containers and became a product company wrapping an ecosystem that moved on without it. The original breakthrough wasn’t containers themselves (LXC already existed), but the combination of: a reproducible image format, layered filesystem semantics, a simple CLI, and a registry model that made distribution trivial. That unlocked a whole workflow shift. What happened next is that Docker the company tried to own the platform, while the industry standardized around the parts that mattered. The runtime split into containerd/runc, orchestration moved to Kubernetes, image specs went to OCI, and “Docker” became more of a developer UX brand than a core infrastructure primitive. Today Docker mostly means: A local dev environment (Docker Desktop) A build UX (Dockerfile, buildx) A compatibility layer over containerd A commercial product with licensing constraints Meanwhile, production container infrastructure largely bypasses Docker entirely. That’s not failure it’s a common arc. Docker succeeded so well that it got standardized out of the critical path. What remains is a polished on ramp for developers, not the foundation of the container ecosystem. In other words: Docker won the mindshare, lost the control, and pivoted to selling convenience. |