Overview
Containerization is defined as a form of operating system virtualization through which applications are run in isolated user spaces called containers, all using the same shared operating system.
A container is essentially a fully packaged and portable computing environment.
-
Everything an application needs to run – its binaries, libraries, configuration files, and dependencies – is encapsulated and isolated in its container.
-
The container itself is abstracted away from the host operating system, with only limited access to underlying resources – much like a lightweight virtual machine (VM).
-
As a result, the containerized application can be run on various types of infrastructure – on bare metal, within VMs, and in the cloud – without needing to refactor it for each environment.
Compared to a VM, there is less overhead during start‑up and no need to set up a separate guest operating system for each application since they all share the same operating system kernel. Because of this efficiency, containerization is commonly used for packaging up the many individual microservices that make up modern applications.