Docker History

Bullet points:

  1. 1979: Unix V7
    Introduced the chroot command to isolate the filesystem a process “access” to.
  2. Various technology was introduced up to 2006, like Virtuozzo (which patched Linux in a proprietary ways)
  3. 2006: Process Containers
    Launched by Google in 2006 was designed for limiting, accounting and isolating resource usage (CPU, memory, disk I/O, network) of a collection of processes. It was renamed “Control Groups (cgroups)” a year later and eventually merged to Linux kernel 2.6.24.
  4. 2008: LXC
    LXC (LinuX Containers) was the first, most complete implementation of Linux container manager. It was implemented in 2008 using cgroups and Linux namespaces, and it works on a single Linux kernel without requiring any patches.
  5. 2013: Docker
    Docker used LXC in its initial stages and later replaced that container manager with its own library, libcontainer.
    Docker offered a way to configure and manage containers, i.e a standard de-facto for this technology.
    As you see Docker was based on cgroups and LXC, seven-years old technologies
  6. On September 2014 Google published the first release of Kubernetes
  7. In 2015 Docker, CoreOS and others founded the Open Container Initiative’s (OCI).
    K8s does not need docker anymore to work, but Docker traction is still strong.

 

References:

https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016