Ответ
LXC (Linux Containers) — это технология контейнеризации на уровне операционной системы для Linux. Она позволяет запускать несколько изолированных экземпляров Linux (контейнеров) на одном хосте, используя общее ядро операционной системы.
Ключевые особенности с точки зрения DevOps:
- Легковесность: Контейнеры запускаются практически мгновенно и имеют минимальные накладные расходы на ресурсы (CPU, память), так как нет гипервизора и гостевой ОС.
- Изоляция: Обеспечивает изоляцию процессов, файловой системы, сети и пространства пользователей (user namespaces) между контейнерами.
- Управление через низкоуровневые утилиты: Прямая работа с контейнерами через набор команд
lxc-*(например,lxc-create,lxc-start,lxc-attach). - Основа для других технологий: LXC является фундаментом для более высокоуровневых инструментов, таких как LXD и ранние версии Docker.
Пример создания и запуска контейнера Ubuntu:
# Устанавливаем шаблон и создаем контейнер с именем 'dev-container'
lxc-create -n dev-container -t download -- -d ubuntu -r jammy -a amd64
# Запускаем контейнер
lxc-start -n dev-container
# Получаем доступ к консоли контейнера
lxc-attach -n dev-container
# Внутри контейнера можно работать как в обычной системе:
# apt update && apt install -y nginx
В DevOps LXC исторически использовался для создания стабильных и изолированных сред для развертывания приложений, тестирования и CI/CD, прежде чем Docker с его образом приложения стал стандартом.