LXC - Википедия - LXC

Контейнеры Linux
Linux Containers logo.png
Разработчики)
  • Ядро: Virtuozzo, IBM, Google, Эрик Бидерман и другие
  • Пользовательское пространство: Даниэль Лескано, Серж Халлин, Стефан Грабер и другие.
изначальный выпуск6 августа 2008 г.; 12 лет назад (2008-08-06)[1]
Стабильный выпуск
4.0.0 / 24 марта 2020; 8 месяцев назад (2020-03-24)[2]
Репозиторий Отредактируйте это в Викиданных
Написано вC, Python, Ракушка, Lua
Операционная системаLinux
Платформаx86, IA-64, PowerPC, SPARC, Itanium, РУКА
ТипВиртуализация на уровне ОС
ЛицензияGNU LGPL v.2.1 (некоторые компоненты под GNU GPL v2 и BSD )
Интернет сайтlinuxcontainers.org

LXC (Контейнеры Linux) является виртуализация на уровне операционной системы метод запуска нескольких изолированных Linux системы (контейнеры) на управляющем хосте с использованием одного ядра Linux.

В Ядро Linux обеспечивает cgroups функциональность, которая позволяет ограничивать и устанавливать приоритеты ресурсов (ЦП, память, блочный ввод-вывод, сеть и т. д.) без необходимости запуска каких-либо виртуальные машины, а также изоляция пространства имен функциональность, которая позволяет полностью изолировать представление приложения об операционной среде, включая процесс деревья сеть, идентификаторы пользователей и установленный файловые системы.[3]

LXC сочетает в себе контрольные группы ядра и поддержку изолированных пространства имен чтобы обеспечить изолированную среду для приложений. Ранние версии Докер использовал LXC в качестве драйвера выполнения контейнера, хотя LXC был сделан необязательным в v0.9, а поддержка была прекращена в Docker v1.10.[4][5]

Обзор

LXC обеспечивает виртуализацию на уровне операционной системы через виртуальную среду, которая имеет собственный процесс и сетевое пространство, вместо создания полноценного виртуальная машина. LXC полагается на Ядро Linux cgroups функциональность, выпущенная в версии 2.6.24. Он также полагается на другие виды функций изоляции пространства имен, которые были разработаны и интегрированы в основное ядро ​​Linux.

Безопасность

Первоначально контейнеры LXC не были такими безопасными, как другие методы виртуализации на уровне ОС, такие как OpenVZ: в ядрах Linux до 3.8 корень пользователь гостевой системы может запускать произвольный код в хост-системе с привилегиями root, как и chroot тюрьмы.[6] Начиная с выпуска LXC 1.0, можно запускать контейнеры как обычные пользователи на хосте, используя «непривилегированные контейнеры».[7] Непривилегированные контейнеры более ограничены тем, что они не могут напрямую обращаться к оборудованию. Однако даже привилегированные контейнеры должны обеспечивать адекватную изоляцию в модели безопасности LXC 1.0 при правильной настройке.[7]

Альтернативы

LXC похож на другие технологии виртуализации на уровне ОС в Linux, такие как OpenVZ и Linux-VServer, а также в других операционных системах, таких как Тюрьмы FreeBSD, AIX Разделы рабочей нагрузки и Контейнеры Solaris. В отличие от OpenVZ, LXC работает в ванильное ядро ​​Linux не требует применения дополнительных патчей к исходным текстам ядра. Версия 1 LXC, выпущенная 20 февраля 2014 г., является долгосрочной поддерживаемой версией и рассчитана на поддержку в течение пяти лет.[8]

LXD

LXD - это системный диспетчер контейнеров, в основном альтернатива инструментам LXC, а не «переписывание LXC, на самом деле он построен на основе LXC, чтобы обеспечить новый, лучший пользовательский интерфейс».[9]

Смотрите также

Рекомендации

  1. ^ «LXC - контейнеры Linux». linuxcontainers.org. Получено 2014-11-10.
  2. ^ «Релизы». Github. Получено 4 сентября 2019.
  3. ^ Рами Розен (май 2013 г.). «Управление ресурсами: пространства имен и контрольные группы ядра Linux» (PDF). cs.ucsb.edu. Получено 11 февраля, 2015.
  4. ^ «Docker 0.9: введение в драйверы выполнения и libcontainer - блог Docker». Блог Docker. 2014-03-10. Получено 2018-05-09.
  5. ^ «Примечания к выпуску Docker Engine - 1.10.0 (04.02.2016)». 2016-02-04. Получено 2020-10-06.
  6. ^ Марко, д'Итри (2011). «Уклонение от контейнеров linux». Архивировано из оригинал 9 января 2014 г.. Получено 12 февраля 2014.
  7. ^ а б Грабер, Стефан (1 января 2014 г.). «LXC 1.0: Функции безопасности [6/10]». Получено 12 февраля 2014. Однако, по крайней мере в Ubuntu, наши контейнеры по умолчанию поставляются с тем, что мы считаем довольно хорошей конфигурацией как доступа к cgroup, так и обширного профиля apparmor, который предотвращает все атаки, о которых мы знаем. [...] LXC больше не работает с правами root, поэтому, даже если злоумышленнику удастся покинуть контейнер, он обнаружит, что имеет привилегии обычного пользователя на хосте.
  8. ^ Стефан Грабер (2013-12-20). «LXC 1.0: ваш первый контейнер Ubuntu». Stgraber.org. Получено 2014-02-23.
  9. ^ «Контейнеры Linux - LXD - Введение». linuxcontainers.org. Получено 2020-04-14.

внешняя ссылка