Containers
Containers provide a lightweight approach to virtualization that consists of providing the bare minimum that an application requires in order to work. In the old days, VMs used to be the main choice for provisioning environments and running applications. However, they require a complete OS in order to work. Containers, on the other hand, reuse the host OS to run and provision the required environments. Let's learn more about this concept by looking at the following diagram:
Virtual machines and containers
In the preceding diagram, we can see the Virtual Machines (VMs) on the left side and the containers on the right side. Let's start by learning how a Vm works.
VMs require their own OS using the hardware assigned to the VM, which is supported by the hypervisor. The preceding diagram shows three VMs, which means that we need to have installed three OSes, one per VM. When you're running applications within VMs, you have to consider the resources that will be consumed by the application...