Docker is based on the Linux kernel and kernel functions such as groups and namespaces. It is these functions that enable processes to be separated so that they can run independently. Indeed, the purpose of containers is to run several processes and applications separately. This optimizes the use of infrastructure without reducing the level of security compared with separate systems.