Within a containerized network, a docker uses the resource isolation features of the Linux kernel, such as cgroups and kernel namespaces, and a union-capable file system, such as OverlayFS and others, to allow independent containers to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines (VMs).