History of containers … and Docker¶
See also
Contents
First experimentations¶
IBM VM/370 (1972)
Linux VServers (2001)
Solaris Containers (2004)
FreeBSD jails (1999)
Containers have been around for a very long time indeed.
Containers = cheaper than VMs¶
Users: hosting providers.
Highly specialized audience with strong ops culture.
Containers = easier than VMs¶
I can’t speak for Heroku, but containers were (one of) dotCloud’s secret weapon
dotCloud was operating a PaaS, using a custom container engine.
This engine was based on OpenVZ (and later, LXC) and AUFS.
It started (circa 2008) as a single Python script.
By 2012, the engine had multiple (~10) Python components.
(and ~100 other micro-services!)
End of 2012, dotCloud refactors this container engine.
The codename for this project is Docker.
First public release of Docker¶
March 2013, PyCon, Santa Clara: “Docker” is shown to a public audience for the first time.
It is released with an open source license.
Very positive reactions and feedback!
The dotCloud team progressively shifts to Docker development.
The same year, dotCloud changes name to Docker.
In 2014, the PaaS activity is sold.
First users of Docker¶
PAAS builders (Flynn, Dokku, Tsuru, Deis…)
PAAS users (those big enough to justify building their own)
CI platforms
developers, developers, developers, developers
Positive feedback loop¶
In 2013, the technology under containers (cgroups, namespaces, copy-on-write storage…) had many blind spots.
The growing popularity of Docker and containers exposed many bugs.
As a result, those bugs were fixed, resulting in better stability for containers.
Any decent hosting/cloud provider can run containers today.
Containers become a great tool to deploy/move workloads to/from on-prem/cloud.
Docker becomes an industry standard¶
Docker reaches the symbolic 1.0 milestone.
Existing systems like Mesos and Cloud Foundry add Docker support.
Standardization around the OCI (Open Containers Initiative).
Other container engines are developed.
Creation of the CNCF (Cloud Native Computing Foundation).
Docker becomes a platform¶
The initial container engine is now known as Docker Engine
Other tools are added:
Docker Compose (formerly “Fig”)
Docker Machine
Docker Swarm
Kitematic
Docker Cloud (formerly “Tutum”)
Docker Datacenter
etc.
Docker Inc. launches commercial offers.