70
– каждая иерархия ведет свое начало от главного, корневого узла;
– все процессы изначально принадлежат к корневому процессу каждой
иерархии;
– каждый узел является группой процессов делящими между собой
общие для этих процессов ресурсы.
Изоляция посредством пространства имён контрольных групп
предоставляет возможность разделять процессы между собой таким образом, что
они не "видят" ресурсы соседних контрольных групп, что представляет собой
легковесную виртуальную машину (контейнер). Легковесную т. к. работает всё
на едином ядре.
Работать с пространствами имён контрольных групп и самими
контрольными группами можно напрямую /sys/fs/cgroup/, что представляет
собой ряд неудобств, однако, с появлением Docker механизм значительно
упростился. Docker предоставил механизмы упаковки программного
обеспечение, распространения и запуска. Образ контейнера Docker представляет
собой легковесный, отдельный, запускаемый пакет программного обеспечения,
который включает всё необходимое для своего запуска: исполняемые файлы,
системные утилиты, системные библиотеки, настройки, окружение. Доступна
технология как на Linux, так и на Windows. Программное обеспечение,
упакованное в подобный контейнер, запускается везде одинаково, независимо от
окружения хостовой системы. Для разработчика программного обеспечение
Docker означает:
– чистое, надёжное и безопасное окружение для приложения;
– нет волнений о недостающих зависимостях, библиотеках и подобном,
– ведь в образ всё необходимое ставишь сам;
– запуск образа в отдельном контейнере позволяет запускать
параллельно множество версий одного и того же программного
обеспечения с разными библиотеками и прочими зависимостями;
– автоматизация тестирования, внедрения, упаковки;