LXC
LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком. Все экземпляры LXC используют один экземпляр ядра операционной системы.
LXC (Linux Containers) | |
---|---|
![]() | |
Тип | Виртуализация на уровне операционной системы |
Разработчик | Даниэль Лескано, Серж Айюн, Стефан Грабе |
Написана на | Python, Lua и Bourne shell |
Операционная система | Linux |
Первый выпуск | 6 августа 2008[1] |
Аппаратная платформа | x86, x86_64, IA-64, PowerPC, ARM и SPARC |
Последняя версия |
|
Лицензия | GNU GPL 2 |
Сайт |
linuxcontainers.org (англ.) linuxcontainers.org/… |

Данная система сходна с OpenVZ и Linux-VServer для Linux, а также FreeBSD jail и Solaris Containers. LXC основана на технологии cgroups, входящей в ядро Linux, начиная с версии 2.6.29.
Основные разработчики — Даниэль Лескано (Daniel Lezcano), Серж Айюн (Serge Hallyn) и Стефан Грабе (Stéphane Graber).
Среди примеров использования — применение в PaaS-хостинге Heroku для изоляции динамических контейнеров (dynos). В проекте Docker разработаны компоненты, обеспечивающие LXC высокоуровневыми сервисами управления и развёртывания.
Безопасность
Изначально LXC-контейнеры не поддерживали достаточно высокий уровень изоляции в сравнении с контейнерами на базе более ранней технологии OpenVZ. В частности, в ядре Linux до версии 3.8 root-пользователь LXC-контейнера может выполнить произвольный код в родительской операционной системе: это возможно за счёт того, что uid 0 внутри контейнера совпадает с uid 0 базовой системы (внутри которой контейнер запущен). С выпуском LXC версии 1.0 данная проблема исправлена введением «непривилегированных контейнеров» — где uid 0 в контейнере соответствует непривилегированному пользователю снаружи и имеет расширенные права только на свои ресурсы. LXC до версии 1.0 можно обезопасить с помощью различных настроек управления доступом и фильтров, используя инструменты apparmor, selinux и тому подобные[4].
Примечания
- https://linuxcontainers.org/lxc/downloads/
- Release 4.0.11 — 2021.
- LXC 4.0.11 has been released — 2021.
- Linux Containers - LXC - Безопасность . linuxcontainers.org. Дата обращения: 12 декабря 2016.
Литература
- Senthil Kumaran S. Practical LXC and LXD: Linux Containers for Virtualization and Orchestration. — Apress, 2017. — 159 с. — ISBN 978-1-4842-3023-7.
- Konstantin Ivanov. Containerization with LXC. — Packt Publishing, 2017. — 352 с. — ISBN 978-1-78588-894-6.
- Джон Лэйн. LXC: малая виртуализация // Linux Format. — 2912. — Октябрь (№ 62). — С. 88—91.
- Мэт Хэлсли. LXC: Kонтейнерные утилиты Linux . developerWorks. IBM (14 июля 2009). Дата обращения: 25 января 2020.
Ссылки
- LXC Howto
- Стефан Грабе. Цикл статей о LXC 1.0. Перевод.