T1#open-source

Docker Unveiled — Five Minutes That Took Containers Mainstream

SourcedotCloud, Inc. (Wikimedia Commons) · Apache License 2.0 · View on Commons ↗

Metadata

Date
Decade
2010s
Tier
T1
Sources
11
Connections
01
Tags
#open-source

Docker was first shown to the public on 15 March 2013, in a five-minute lightning talk at PyCon US 2013 in Santa Clara, California. The speaker was Solomon Hykes of dotCloud, a small platform-as-a-service company, and the talk was titled "The future of Linux Containers". The first tagged release, v0.1.0, followed on 26 March 2013. Seven months later dotCloud renamed itself Docker, Inc., and Docker 1.0 was released on 9 June 2014.

Docker did not invent containers. The Linux kernel features it relied on had been accumulating for a decade. What Docker did was make them easy to use — and that turned out to be the part that mattered.

Five minutes at PyCon

PyCon US 2013 ran its main conference from 15 to 17 March in Santa Clara, between two days of tutorials and four days of sprints. Hykes's slot was a lightning talk, recorded on Friday 15 March. The recording's description on PyVideo explains the premise: people had been curious about how dotCloud ran its containers, but the machinery was too complicated to talk about publicly — until Docker.

A week later, on 21 March, the Docker blog posted the video under the same title, with a one-line summary: Hykes "shows docker to the public for the first time at PyCon 2013."

So Docker began as a way of opening up something dotCloud already did for itself: running customers' applications in Linux containers.

What Docker built on

A Linux container is not a virtual machine. It is an ordinary process that the kernel isolates and limits, sharing one kernel with everything else on the host. Two kernel features do most of the work, and both predate Docker:

FeatureWhat it doesOrigin
NamespacesGive a process its own view of mounts, process IDs, network and so onFirst namespace (mount) in Linux 2.4.19, 2002
cgroups (control groups)Limit and account for CPU, memory and I/OStarted at Google in 2006 as "process containers" by Paul Menage and Rohit Seth; merged in Linux 2.6.24, January 2008
LXCUser-space tools to create containers from the aboveUsed by Docker as its execution layer until 2014

Wider still, isolated environments sharing one kernel went back to FreeBSD jails and Solaris Zones; see container in the glossary. Docker's first versions did not talk to the kernel directly at all. They drove LXC.

What Docker added was a workflow. An application and everything it needed could be described in a file, built into an image, pushed to a registry, pulled onto any Linux machine and run the same way there.

From a tool to a company

DateMilestone
15 March 2013Lightning talk at PyCon US, Santa Clara
26 March 2013v0.1.0 tagged on GitHub
29 October 2013dotCloud renames itself Docker, Inc.
10 March 2014Docker 0.9 replaces LXC with its own libcontainer as the default
9 June 2014Docker 1.0 and Docker Hub, at the first DockerCon in San Francisco

When dotCloud became Docker, Inc. on 29 October 2013, InfoQ reported the reason given by chief executive Ben Golub: the company thought containerisation could be one of the most significant enablers of the next generation of computing, and that Docker could have more impact than its PaaS business. The company's figures at seven months were more than 140,000 container downloads, over 6,700 GitHub stars and nearly 200 contributors, 92% of them from outside the company.

On 10 March 2014 Hykes announced Docker 0.9, which made LXC optional. The new default was libcontainer, a library written in Go that called the kernel's namespaces, cgroups and related features directly. The same release introduced an execution-driver interface, and Hykes listed the other isolation tools it could in principle drive — among them OpenVZ, systemd-nspawn, libvirt-lxc, qemu/kvm, BSD jails, Solaris Zones and plain chroot. Docker was positioning itself as the layer above the isolation mechanism, not the mechanism itself. Docker 1.0 followed on 9 June 2014, at the first DockerCon; LWN reported it alongside the launch of Docker Hub, a central registry for images.

What it set off

The next day, 10 June 2014, Google's Eric Brewer used his DockerCon keynote to announce Kubernetes, an open-source system for running containers across many machines. Google's own post that day said that everything at Google ran in Linux containers and that it launched more than two billion container instances a week.

Amazon followed in November 2014: the same re:Invent keynote that introduced AWS Lambda introduced the EC2 Container Service for Docker containers. Within twenty months of a five-minute talk, the two companies that had opened the cloud market — Amazon with S3 and Google with App Engine — had both built services around Docker containers.

The kernel side of the story starts with Linux; the rest of the sequence is on the cloud computing timeline.

Questions this page answers

When was Docker first shown, and by whom?
Solomon Hykes of the PaaS company dotCloud first showed it in public on 15 March 2013, in a five-minute lightning talk titled 'The future of Linux Containers' at PyCon US 2013 in Santa Clara. The first tagged release, v0.1.0, followed on 26 March 2013.
Did Docker invent containers?
No. cgroups, which limit resources, reached mainline Linux in 2.6.24 in January 2008, and namespaces, which isolate, had been added since 2.4.19 in 2002. Early Docker used them through LXC. Its contribution was to put them within reach of ordinary developers through image building, distribution and an easy CLI.
When was Docker 1.0 released?
On 9 June 2014, at the first DockerCon in San Francisco, together with the launch of Docker Hub, a central registry for images.
When did dotCloud become Docker, Inc.?
On 29 October 2013. Chief executive Ben Golub explained that the company saw more potential impact in Docker than in its original PaaS business.

Sources

  1. PrimaryThe future of Linux Containers — Docker Blog, March 21, 2013 (archived; the live URL now redirects to the blog index)

    Docker's own statement that the PyCon 2013 talk was its first public showing

    Accessed 2026-10-05

  2. PrimaryDocker 0.9: Introducing execution drivers and libcontainer — Solomon Hykes, Docker Blog, March 10, 2014

    LXC made optional and libcontainer made the default

    Accessed 2026-10-05

  3. SecondarydotCloud Renamed Docker — InfoQ, October 29, 2013

    Rename date, Ben Golub's reasoning, and the figures at seven months

    Accessed 2026-10-05

  4. SecondaryDockerCon 2014 — Josh Berkus, LWN.net, June 18, 2014

    Docker 1.0 date and the launch of Docker Hub

    Accessed 2026-10-05

  5. SecondaryPyCon US 2013 — Fedora Project Wiki

    Accessed 2026-10-05

  6. Tertiarycgroups — Wikipedia

    Accessed 2026-10-05

  7. TertiaryLinux namespaces — Wikipedia

    Accessed 2026-10-05

  8. TertiaryDocker (software) — Wikipedia

    Accessed 2026-08-03

Last updated:

Share