LXC - Википедия - LXC
Эта статья слишком полагается на Рекомендации к основные источники.Февраль 2018 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | |
---|---|
изначальный выпуск | 6 августа 2008 г.[1] |
Стабильный выпуск | 4.0.0 / 24 марта 2020[2] |
Репозиторий | |
Написано в | C, Python, Ракушка, Lua |
Операционная система | Linux |
Платформа | x86, IA-64, PowerPC, SPARC, Itanium, РУКА |
Тип | Виртуализация на уровне ОС |
Лицензия | GNU LGPL v.2.1 (некоторые компоненты под GNU GPL v2 и BSD ) |
Интернет сайт | linuxcontainers |
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]
Смотрите также
- Инициатива открытого контейнера
- Контейнер Linux (ранее CoreOS Linux)
- Докер, проект по автоматизации развертывания приложений внутри программных контейнеров
- Apache Mesos, крупномасштабная платформа управления кластером на основе изоляции контейнеров
- Реализации виртуализации на уровне операционной системы
- Виртуальная среда Proxmox, платформа управления виртуализацией серверов с открытым исходным кодом, поддерживающая контейнеры LXC и KVM
- Anbox, использует LXC для выполнения приложений Android в других дистрибутивах Linux.
Рекомендации
- ^ «LXC - контейнеры Linux». linuxcontainers.org. Получено 2014-11-10.
- ^ «Релизы». Github. Получено 4 сентября 2019.
- ^ Рами Розен (май 2013 г.). «Управление ресурсами: пространства имен и контрольные группы ядра Linux» (PDF). cs.ucsb.edu. Получено 11 февраля, 2015.
- ^ «Docker 0.9: введение в драйверы выполнения и libcontainer - блог Docker». Блог Docker. 2014-03-10. Получено 2018-05-09.
- ^ «Примечания к выпуску Docker Engine - 1.10.0 (04.02.2016)». 2016-02-04. Получено 2020-10-06.
- ^ Марко, д'Итри (2011). «Уклонение от контейнеров linux». Архивировано из оригинал 9 января 2014 г.. Получено 12 февраля 2014.
- ^ а б Грабер, Стефан (1 января 2014 г.). «LXC 1.0: Функции безопасности [6/10]». Получено 12 февраля 2014.
Однако, по крайней мере в Ubuntu, наши контейнеры по умолчанию поставляются с тем, что мы считаем довольно хорошей конфигурацией как доступа к cgroup, так и обширного профиля apparmor, который предотвращает все атаки, о которых мы знаем. [...] LXC больше не работает с правами root, поэтому, даже если злоумышленнику удастся покинуть контейнер, он обнаружит, что имеет привилегии обычного пользователя на хосте.
- ^ Стефан Грабер (2013-12-20). «LXC 1.0: ваш первый контейнер Ubuntu». Stgraber.org. Получено 2014-02-23.
- ^ «Контейнеры Linux - LXD - Введение». linuxcontainers.org. Получено 2020-04-14.
внешняя ссылка
- Официальный веб-сайт и репозиторий исходного кода на GitHub
- Статья IBM developerworks о LXC
- «Уклонение от контейнеров Linux» Марко Д'Итри
- Презентация Рами Розена о контрольных группах и пространствах имен, технологии, лежащей в основе контейнеров Linux.
- Презентация Рами Розена о контейнерах Linux и облаке будущего
- LXC: установка и настройка контейнеров Linux
- LSS: безопасные контейнеры Linux (LWN.net)
- Введение в контейнеры Linux
- LXC на Android на YouTube, Апрель 2013