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
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.
Chapter 2: Hypervisors
Chapter 3: Namespaces
Chapter 4: Cgroups
Chapter 5: Layered File Systems
Chapter 6: Creating a Simple Container Framework