Docker поддерживает разделение ресурсов между контейнерами с помощью контрольных групп (cgroups). 23 Каждая cgroup лимитирует приложение в доступе к определённому набору ресурсов. 1
С помощью cgroups можно установить ограничения на различные системные ресурсы, используемые контейнером, такие как процессор, память и ввод-вывод. 2 Это помогает предотвратить потребление чрезмерных ресурсов одним контейнером и возникновение проблем с производительностью других контейнеров или хост-системы. 2
Также для изоляции ресурсов Docker использует пространства имён. 23 Когда контейнер запускается, Docker создаёт для него новый набор пространств имён. 2 Эти пространства действуют только внутри контейнера, поэтому любые процессы, работающие внутри него, имеют доступ к подмножеству системных ресурсов, изолированных от других контейнеров, а также от хост-системы. 2