
Linux Containers and Virtualization
Description
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
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.
More details
Other editions
New editions

Additional editions

Person
S hashank Mohan Jain has been working in the IT industry for around 20 years mainly in the areas of cloud computing and distributed systems. He has keen interests in virtualization techniques, security, and complex systems. Shashank has 25 software patents (many yet to be published) to his name in the area of cloud computing, IoT, and machine learning. He is a speaker at multiple reputed cloud conferences. Shashank holds Sun, Microsoft, and Linux kernel certifications.
Content
Chapter 2: Hypervisor Vt-x QEMU Steps to Create VM Using KVM Module Vhost Base Data communication A Small Detour on What is an Eventfd Alternative Virtualization Mechanisms Summary of Alternate Virtualization Approaches
Chapter 3: Namespaces Namespace Types Add a Device to a Namespace
Chapter 4: Cgroups Create a Sample Cgroup Cgroup Types
Chapter 5: Layered File Systems Union File System
Chapter 6: Creating a Container Yourself UTS Namespace GoLang Installation Container with Namespace Adding More Namespaces Getting Shell With-In Container Providing Root File System Mount Proc File System Enabling Networking for the Container Enabling Cgroups for Container