The Essence of Linux Container Technology
All things look elegant and straightforward from the outside. But what's the magic working underneath to make a container so powerful? In this section, we will try to open the hood to take a look inside. Let us take a look at a few Linux technologies that lay the foundation for containers.
Namespace
The first key technology relied upon by containers is called a Linux namespace. When a Linux system starts up, it creates a default namespace (the root
namespace). Then, by default, the processes created later join the same namespace, and, hence, they can interact with each other boundlessly. For example, two processes are able to view the files in the same folder, and also interact through the localhost
network. This sounds pretty straightforward, but technically it's all credited to the root
namespace, which connects all the processes.
To support advanced use cases, Linux offers the namespace API to enable different processes...