Что такое LXC

LXC (Linux Containers) – система управления контейнерами, имеет мощный программный интерфейс и обладает широким набором функций. Это свободное ПО, распространяющееся на условиях лицензии GNU LGPLv2.1 +.
LXC представляет собой технологию виртуализации уровня ОС. Хотя и виртуализацией ее можно назвать с натяжкой, поскольку все программы, запущенные внутри контейнера, работают на реальном железе.
LXC не является самостоятельной технологией. Это совокупность утилит, которые при помощи API позволяют использовать возможности ядра Linux по созданию и управлению изолированными контейнерами:
- Изоляция пространств имен ядра (ipc, uts, mount, pid, network, user);
- Изоляция файловой системы (Chroot);
- Политики Seccomp;
- Профили Apparmor и SELinux;
- Группы управления CGroups.
LXC, как и любая технология виртуализации контейнеров, используется для тестирования и отладки веб-проектов, а также для нужд веб-хостинга и разработки. Несмотря на некоторые недоработки, ПО имеет ряд преимуществ, которые делают его полезным помощником при различных манипуляциях с контейнерами.
В каких случаях используется LXC
– при сборке ПО, чтобы не захламлять основную рабочую систему различными dev-пакетами;
– изоляция софта, который может нанести вред системе, и сомнительных веб-технологий, типа уязвимостей в java, pdf и так далее;
– когда необходимо максимально гибко конфигурировать контейнеры.
Преимущества
- Работает на ванильном ядре, что облегчает установку контейнеров;
- Нетребовательность к ресурсам, в отличие от виртуальных машин, таких как Virualbox, qemu;
- Простота проброса устройств и каталогов хоста, поскольку все работает через cgroups.
Как создавать, запускать Linux-контейнеры, а также управлять ими – все это детально рассматривается на нашем курсе «L3-Virtualization»!