Understanding containers
Let’s compare containers and VM for better understanding.
Both containers and VMs bypass the need of physical hardware and host applications to achieve an objective.
But the main difference b/w them is how the hosting is done i.e. there architecture approach.
In case of virtual machines - It creates a layer of hyper visor which provides hardware resources (like CPU, RAM etc.) to Guest OS layer. So in case you want to host a small application an entire hyper visor along with guest OS layer is needed on which necessary apps is installed/configured just like its done on base machine.
In case of containers - No such hypervisor layer and Guest OS layer is required instead Docker daemon shares binaries from Host OS for launching a container (isolated process) which will host the application needed.
So in short overall hosting an application becomes far more easy and very less resources are used also containers are isolated process and two or more containers can interact if required.