Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
linux-containers:lxc [2017/11/09 13:37] – mirocow | linux-containers:lxc [2018/06/21 23:50] (текущий) – [Расширенная поддержка] mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Linux Containers ====== | + | {{tag> |
- | ===== LXC ===== | + | ====== LXC ====== |
- | LXC является известным набором инструментов, шаблонов, библиотек и языковых привязок. Это | + | LXC это интерфейс в пространстве пользователя для функций сдерживания |
- | LXC является готовым для продакшена с LXC 1.0 c 5 летней поддержкой обновлений безопасности и исправлений (до апреля 2019 года). | + | |
- | [[lxc|Подробнее]] | + | ===== Установка ===== |
- | ===== LXD ===== | + | <code bash> |
+ | $ mkdir ~/ | ||
+ | $ cp / | ||
+ | $ echo " | ||
+ | $ echo " | ||
+ | $ lxc-create -t debian -n my-container | ||
+ | </ | ||
- | LXD это новый опыт LXC. Предлагающий полностью свежую и интуитивно понятную работу с помощью всего одного инструмента: | + | ==== Контейнеры |
- | О LXD было объявлено в начале ноября 2014 года и по сей день он находится в очень активном развитии. | + | |
- | [[lxd|Подробнее]] | + | * https:// |
+ | * https:// | ||
+ | * debian | ||
+ | * fgrehm/ | ||
+ | * https:// | ||
+ | * http:// | ||
- | ===== CGManager ===== | ||
- | CGManager - наш демон для упраления контролем групп. Он предназначен для работы с вложенными непривилегированными контейнерами позволяющий создавать и управлять своими контрольными группы через API DBus. | + | ===== Управление |
- | CGManager был использован по умолчанию с LXC в Ubuntu с апреля 2014 года, а затем в других дистрибутивах, | + | |
- | [[cg-Manager|Подробнее]] | + | <code bash> |
+ | $ lxc-start -n my-container -d | ||
+ | $ lxc-info -n my-container | ||
+ | $ lxc-attach -n my-container | ||
+ | $ lxc-stop -n my-container | ||
+ | $ lxc-destroy -n my-container | ||
+ | </ | ||
+ | |||
+ | ===== vagrant ===== | ||
+ | |||
+ | Работа с контейнером чере vagrant | ||
+ | |||
+ | <code bash> | ||
+ | $ vagrant plugin install vagrant-lxc | ||
+ | </ | ||
+ | ===== Создание непривилегированного контейнера от root ===== | ||
+ | |||
+ | Для запуска общесистемного непривилегированного контейнера (то есть, непривилегированного контейнера запущенного от root) вы должны следовать только части шагов ниже. | ||
+ | |||
+ | А именно, | ||
+ | |||
+ | И все. Root не требует квоты на сетевые устройства и использует общий конфигурационный файл так что другие шаги не применяются. | ||
+ | |||
+ | Любой контейнер создаваемый вами от root с этого момента будет запущен непривилегированным. | ||
+ | |||
+ | ===== Создание привилегированных контейнеров ===== | ||
+ | |||
+ | Привилегированные контейнеры это контейнеры созданные root и запущенные от root. | ||
+ | |||
+ | В зависимости от дистрибутива Linux, они могут быть защищены некоторым сбросом привилегий, | ||
+ | |||
+ | Если вам все еще необходимо создавать привилегированные контейнеры, | ||
+ | |||
+ | Так: | ||
+ | |||
+ | <code bash>$ sudo lxc-create -t download -n privileged-container</ | ||
+ | Создаст новый " | ||
+ | ===== Особенности ===== | ||
+ | |||
+ | Текущий LXC использует следующие функции ядра, что бы контейнизировать процессы: | ||
+ | |||
+ | * Пространство имен ядра (ipc, uts, mount, pid, сетевые и пользовательские) | ||
+ | * AppArmor и SELinux профили | ||
+ | * Условия Seccomp | ||
+ | * Chroots (используя pivot \ _root) | ||
+ | * Возможности ядра | ||
+ | * Контрольные группы (группы управления) (CGroups) | ||
+ | |||
+ | LXC контейнеры часто рассматривается как что-то середнее между Chroot и полноценной виртуальной машинеой. Цель LXC является создание среды максимально близкой к стандартной установке Linux, но без необходимости в отдельном ядре. | ||
+ | |||
+ | ===== Компоненты ===== | ||
+ | |||
+ | LXC в настоящее время состоит из нескольких отдельных компонентов: | ||
+ | * The liblxc библиотека | ||
+ | |||
+ | Несколько языковых привязок для API: | ||
+ | |||
+ | * Python3 (in-tree, поддержка в 1.0.x) | ||
+ | * Lua (in-tree, поддержка в 1.0.x) | ||
+ | * [Go] (https:// | ||
+ | * [Ruby] (https:// | ||
+ | * [Python2] (https:// | ||
+ | * [Haskell] (https:// | ||
+ | |||
+ | Набор стандартных инструментов для управления контейнерами | ||
+ | Шаблоны контейнеров распространения | ||
+ | |||
+ | ===== Лицензирование ===== | ||
+ | |||
+ | LXC это свободное программное обеспечение, | ||
+ | |||
+ | Лицензия по умолчанию для проекта является GNU LGPLv2.1 +. | ||
+ | |||
+ | ===== Поддержка ===== | ||
+ | |||
+ | Стабильная поддержка релиза LXC опирается на дистрибутивы и их самостоятельные наработки, | ||
+ | |||
+ | Исходя из потребностей и имеющихся ресурсов из различных дистрибутивов, | ||
+ | |||
+ | Другие релизы, | ||
+ | |||
+ | Коммерческая поддержка для LXC на Ubuntu LTS-релизов могут быть получены из [Canonical Ltd] (http:// | ||
+ | |||
+ | ===== Расширенная поддержка ===== | ||
+ | |||
+ | На данный момент, | ||
+ | |||
+ | Это стало возможным благодаря [Canonical Ltd] (http:// | ||
+ | |||
+ | Улучшить этот вебсайтНаверх | ||
+ | Содержимое распространяется по лицензии Creative Commons CC BY NC SA | ||
+ | Проект спонсируется Canonical Ltd. | ||
+ | |||
+ | ====== Другие системы виртуализации ====== | ||
+ | |||
+ | {{topic> | ||