See also:
* The What, Why and How of Containers (https://www.annwan.me/computers/what-why-how-containers/)
* Containers from Scratch (https://ericchiang.github.io/post/containers-from-scratch/)
* Linux Containers From Scratch in C (https://www.lucavall.in/blog/barco-linux-containers-from-scr...)
* Life of a Container (https://indradhanush.github.io/blog/life-of-a-container/)
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.
I guess cgroups come as version 2 https://www.redhat.com/en/blog/world-domination-cgroups-rhel...
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?
This looks to be using cgroups v1 and should be updated to v2 as its not directly compatible and would improve things understanding wise.
This is what I used as a university student. Pretty effective. But I guess the author did not share his opinion about them.
What's the difference between chroot and the mount namespace type?
Based on Ubuntu 18.04, which is pretty old now. Are there any relevant changes for 22.04 or 24.04 or is this stuff stable now?
A side note: the page does not declare utf-8 encoding. I have manually change it to resolve some of garbled text.
Obviously, there is a part 2:
https://www.polarsparc.com/xhtml/Containers-2.html