2 Understanding containers and containerized applications
This chapter covers
- An introduction to containers
- Differences between containers and virtual machines
- How to create, run, and share 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 that run 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 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 application or service its own VM if you want to keep your hardware costs low.