Using containers for virtualization
Both containers and hypervisors make applications faster, more portable, and more efficient to deploy. However, they achieve those objectives differently. You've already learned that hypervisor software implements a light OS over a host machine's environment. In contrast, a container's OS is smaller and more efficient than hypervisor software. Containers package an application and its dependencies and run them as an OS process on the host machine.
A container package can run anywhere a container engine is installed. For example, please refer to Figure 5.2 for a graphical depiction of the container-based architecture, and then compare it with the hypervisor virtualization architectures shown in the following figure: