-
1 Introduction to containersOverview of what is a container, the problem of software isolation it solves and how does it compares to other solutions.
-
2 Starting the projectCreation of the project, the logging system, the error handlings, and arguments validation
-
3 Creating the skelettonGetting the configuration, creating the skeletton for the container, checking the Linux kernel version for compatibility
-
4 Birth of a child processPrepare inter-process communication (IPC), create a clone of the parent process while restricting its scope using namespaces.
-
5 Defining the container environmentSet the container hostname, modify the container mount point, pivoting the root.
-
6 User namespaces and Linux capabilitiesSet up user namespaces, map the UID / GID, restrict the child process with linux capabilities
-
7 Syscalls and resources restrictionHow to restrict the binary running inside our container in order to protect our system. Introduction to seccomp, syscalls, cgroups, rlimit
-
8 Executing the binaryExecute a binary inside our container, resolve issues of dynamic libraries, mount directories inside the environment. Conclusion of the serie