It’s also important to note that containers are not the only method of virtualization. Another common method to provide an isolated, virtual environment is by using Virtual Machines (VMs).
The purpose of a Virtual Machine is similar to that of a container—providing an isolated virtual environment—but the mechanics of it is quite different.
A VM is an emulated computer system that runs on top of another computer system. It does this via a hypervisor—a program that has access to the physical hardware and manages the distribution and separation of resources between different VMs.
The hypervisor is the software that separates the hardware layer from the virtual environments, as shown in the following diagram:

Hypervisors can be embedded in the system hardware and runs directly on it, at which point they are known as Type 1 hypervisors, that is, native, bare-metal, or embedded hypervisors. They may also run on top of the host’s operating system, at which point they are known as Type 2 hypervisors.
Type 1 hypervisor technology has been part of Linux since 2006, when it introduced the Kernel-based Virtual Machine (KVM).