Nowadays, the use of containerized applications is booming. Still many developers, system administrators and cluster administrators are not aware what exactly a container is. Most often a container is considered to be a ‘box’ in which application processes can be started (similar to a virtual machine), while the container approach differs significantly from virtual machines. Let alone that container users are aware of more sophisticated mechanisms that can be used to share (parts of) the environment of one containerized application with another one or guarantee/limit hardware resource utilization of a containerized application.
In this training the basic building blocks of a containerized process (in the Linux context) are covered, i.e. kernel namespaces, cgroups, capabilities and chroot/pivot_root. Knowledge about these mechanisms is indespensable when working with containers, but is also very useful for system trouble shooting and system tuning outside the scope of containers. After the theoretical lecture about each building block, the correlation with the specific parameters of Docker, Podman and Kubernetes will be explained as well.
During this training you will gain hands-on experience by building a containerized application, just by using the standard Linux commands.