In this article, we dive into the practical implementation of containerization using Docker, Linux namespaces, cgroups, and chroot. While Docker offers many features like container orchestration, networking, and extensive tooling, this article focuses on building a basic container environment from scratch to gain a deeper understanding of how containerization works. We start by setting up a new namespace, configure the cgroups, build the root file system using debootstrap, mount and change directory into the container, and finally install and run applications, like Nginx web server, within the container. This guide is not intended to replace Docker but to offer an educational exploration of the foundational technologies that form the core of containerization.
https://akashrajpurohit.com/blog/build-your-own-docker-with-linux-namespaces-cgroups-and-chroot-handson-guide/