Docker
/ˈdɒk.ər/ · Noun · Development · Origin: 2013
Definitions
Docker is a platform for building, shipping, and running applications inside lightweight, isolated environments called containers. A container packages an application along with its dependencies, libraries, and configuration files into a single portable unit that runs consistently across development, testing, and production environments. Unlike virtual machines, containers share the host operating system's kernel, making them faster to start and more efficient with system resources. Docker uses a layered filesystem and image-based workflow: developers write a Dockerfile that describes how to build an image, then run containers from that image. Docker Hub and other registries provide a vast library of prebuilt images for databases, web servers, and programming languages. Docker Compose allows defining multi-container applications in a single YAML file. Docker revolutionized software delivery by solving the 'works on my machine' problem and became a foundational technology for container orchestration platforms like Kubernetes.
In plain English: A tool that packages your application with everything it needs to run into a neat box (container) that works identically everywhere — your laptop, the server, the cloud.
Docker didn't invent containers — Linux cgroups and namespaces existed before Docker. Docker's contribution was making containers accessible through a developer-friendly CLI, a standard image format (Dockerfile), and a distribution mechanism (Docker Hub). It was a UX revolution, not a technology revolution.
Example: 'Docker didn't invent containerization; it made it usable. Writing a Dockerfile is orders of magnitude simpler than manually configuring cgroups and namespaces.'
Source: historical contribution
Etymology
- 2013
- Solomon Hykes demos Docker at PyCon — the crowd goes silent, then erupts
- 2014
- Docker 1.0 releases; containers become a mainstream concept
Origin Story
Shipping containers for software
Solomon Hykes built Docker as an internal project at dotCloud, a platform-as-a-service company that was struggling to gain traction. The idea was deceptively simple: apply the shipping container metaphor to software. Just as standardized shipping containers revolutionized global trade by letting any cargo fit on any ship, Docker containers would let any application run on any infrastructure.
Hykes presented Docker at a PyCon lightning talk in March 2013. The five-minute demo went viral. Within weeks, the project had thousands of GitHub stars. DotCloud pivoted entirely and renamed itself Docker, Inc.
Docker didn't invent containerization (LXC, Solaris Zones, and FreeBSD jails existed earlier), but it made it accessible. The developer experience — a simple Dockerfile, a single build command — turned an operations concept into a developer tool, fundamentally changing how software is deployed.
Coined by: Solomon Hykes
Context: dotCloud / PyCon lightning talk, March 2013
Fun fact: Docker's whale logo (Moby Dock) was chosen from a set of animal logos. The stacked containers on the whale's back represent the shipping container metaphor.