Пространства имён (Linux, namespaces)
Механизм ядра Linux, дающий группе процессов собственный изолированный взгляд на систему: свои идентификаторы процессов, свою сеть, свою файловую систему. Благодаря ему контейнер «думает», что он на машине один.
Ядро поддерживает несколько типов namespaces, каждый изолирует один аспект: PID (свои номера процессов, процессы хоста не видны), NET (свой сетевой стек и интерфейсы), MNT (своя файловая система), UTS (своё имя хоста), IPC (своя разделяемая память и очереди) и USER (своё отображение UID — основа rootless). Контейнер — это просто процесс в наборе собственных namespaces, ограниченный cgroups: namespaces определяют, что процесс видит, а cgroups — сколько ресурсов он получает. Выигрыш — лёгкая изоляция без виртуальной машины. Ограничение: ядро общее, поэтому изоляция слабее, чем у ВМ, — для недоверенного кода есть gVisor и Kata.