Obviously, there is a part 2:<p><a href="https://www.polarsparc.com/xhtml/Containers-2.html" rel="nofollow">https://www.polarsparc.com/xhtml/Containers-2.html</a>
See also:<p>* The What, Why and How of Containers (<a href="https://www.annwan.me/computers/what-why-how-containers/" rel="nofollow">https://www.annwan.me/computers/what-why-how-containers/</a>)<p>* Containers from Scratch (<a href="https://ericchiang.github.io/post/containers-from-scratch/" rel="nofollow">https://ericchiang.github.io/post/containers-from-scratch/</a>)<p>* Linux Containers From Scratch in C (<a href="https://www.lucavall.in/blog/barco-linux-containers-from-scratch-in-c" rel="nofollow">https://www.lucavall.in/blog/barco-linux-containers-from-scr...</a>)<p>* Life of a Container (<a href="https://indradhanush.github.io/blog/life-of-a-container/" rel="nofollow">https://indradhanush.github.io/blog/life-of-a-container/</a>)
You can get a sort of "reader's digest" version of this by having a look at "bocker". It's about 120 lines of bash that implements the important bits of docker using nsenter, btrfs, cgcreate, etc.<p><a href="https://github.com/p8952/bocker/blob/master/bocker">https://github.com/p8952/bocker/blob/master/bocker</a>
I guess cgroups come as version 2
<a href="https://www.redhat.com/en/blog/world-domination-cgroups-rhel-8-welcome-cgroups-v2" rel="nofollow">https://www.redhat.com/en/blog/world-domination-cgroups-rhel...</a>
If you were looking to create testing for networking, i.e., simulating network dropouts for a client-server connections, is this something that you can use namespaces for, or would virtual machines be more fit for purpose?