Frequently Asked Question

What is Docker, and what was new about it in 2013?

Docker is a tool, originally released in 2013 by dotCloud (later renamed Docker, Inc), that wraps the existing Linux container primitives, namespaces, cgroups, union filesystems, in a workflow developers can actually use. The primitives had been there for years (LXC since 2008, namespaces and cgroups in the kernel by 2007), but they required deep knowledge of clone, unshare, mount, and cgroupfs to drive. Docker's contribution was the container image: a versioned, layered, shareable snapshot of an entire application environment that you could docker push to a registry and someone else could docker pull and docker run in one command.

That shift, from "install dependencies and pray" to "the image is the deployment artefact", is what made containers mainstream. Within five years the entire cloud industry had reorganised around container images, Kubernetes became the de facto orchestrator, and the Open Container Initiative had standardised the format so no single vendor owned it. Docker the company has since been overshadowed by the ecosystem it kicked off, but the workflow it invented is now the default way software is shipped.

Video

Further reading and video