Exploring container technology
Before we move on to the practical part, we still need to figure out the technology behind containers and who created it. The technology behind Linux containers was developed quite a long time ago and is based on two fundamental kernel features:
- cgroups (control groups)
- Namespaces
cgroups
cgroups is a mechanism that allows processes to be organized into hierarchical groups. How resources (CPU, memory, disk I/O throughput, and so on) are used by those groups can be limited, monitored, and controlled.
cgroups were initially developed by engineers at Google and first released in 2007. Since early 2008, cgroups functionality was merged into the Linux kernel and has been present ever since. In 2016, a revised version of cgroups was released and it is now known as cgroups version 2.
Even before cgroups, in 2002, the Linux namespaces feature was developed.
Linux kernel namespaces
This Linux feature allows you to partition kernel...