2 Understanding Containers and Containerized Applications
This chapter covers
- Understanding what a container is
- Differences between containers and virtual machines
- Creating, running, and sharing a container image with Docker
- Linux kernel features that make containers possible
Kubernetes primarily manages applications that run in containers - so before you start exploring Kubernetes, you need to have a good understanding of what a container is. This chapter explains the basics of Linux containers that a typical Kubernetes user needs to know.
2.1 Introducing containers
In Chapter 1 you learned how different microservices running in the same operating system may require different, potentially conflicting versions of dynamically linked libraries or have different environment requirements.
When a system consists of a small number of applications or services, it’s okay to assign a dedicated virtual machine (VM) to each one and have it run in its own operating system. But for systems that run many applications, you may not be able to afford giving each one its own VM if you want to keep your hardware costs low.