Get a novel perspective on Linux containers and understand the world of virtualization. This book takes you down the rabbit hole to discover what lies below the API. You’ll go on a journey of virtualization and see how containers are realized in the Linux world. Linux Containers and Virtualization details the data structures within the Linux kernel which make up Linux containers.
You will start with the fundamentals of virtualization including how different resources such as memory, CPU, network, and storage are virtualized. Then you will move on to hypervisors and virtualization using the Kernel virtual Machine (KVM) and Quick Emulator (QEMU). Next, you will learn about Linux namespace, cgroups, and layered file systems, which are the essential building blocks of Linux containers. The explanation traverses the Linux kernel codebase to show how these are realized in the Linux kernel. In the final chapter, you will code your own container by applying the concepts learnt in the previous chapters.
On completion of the book, you will have the knowledge to start coding a Linux container.
What You Will Learn
Understand the basics of virtualization
Discover how the Linux kernel supports virtualization
See how the evolution of the Linux kernel and CPUs led to the creation of containerization technologies
Develop the ability to create your own container framework
Who This Book Is For
Developers working on virtualized software deployment and containers. Architects designing platforms based on a container runtime as well as DevOps professionals who want to get a microscopic view on how containers and virtualization work would find the book useful.