Docker is unveiled: five minutes at PyCon
Summary
In March 2013 Solomon Hykes of dotCloud showed Docker publicly for the first time in a five-minute lightning talk at PyCon in Santa Clara. The tool was meant to make Linux containers, which dotCloud used internally for its platform, easy for anyone to use. A few weeks later Docker was released as open source and changed how software is delivered and run.
What Hykes showed
dotCloud was a platform-as-a-service provider running its customers’ web applications and databases, spread across about a hundred large cloud instances divided into Linux containers. Customers wanting to do it themselves found Linux containers too difficult. Docker was meant to extract the bottom piece of the platform: a small daemon on any server with a sufficiently recent Linux kernel that starts processes in isolation.
In the demo Hykes ran a command in a BusyBox image. According to Hykes, Docker created a new container for it, gave it a file system with a writable layer, a network interface with its own IP address and NAT, and ran the process inside. At the time of the talk, according to Hykes, about 40 people outside dotCloud were testing the tool.
Ideas
- A good tool interface is what makes existing technology suitable for the masses.
- Images make runs repeatable because they start from a known state.
- An internal building block can be more valuable than the actual product.
- Five minutes of live demo convince more than a long presentation.
Insights
- Docker did not invent the container: Linux containers, cgroups and namespaces had existed for years, and systems like OpenVZ had been running for a long time. What was new was the layered image format and operation via a few commands.
- The by-product became the main business: dotCloud renamed itself Docker Inc. later in 2013.
Facts
- The lightning talk lasted 5:21 minutes and was the first public demonstration of Docker outside dotCloud.
- Docker initially used LXC and replaced it in 2014 with version 0.9 by its own library libcontainer.
- Docker 1.0 was released in June 2014.
References
Remarks
- The date follows the PyCon 2013 lightning talks; the video itself gives no day.
Recommendations
- Keep container images small and build on known base images.
- Choose deliberately between system containers (OpenVZ, LXC) and application containers (Docker, Podman).
Links to the original source and the Web Archive open in a new tab.