Статья 1 из 10, в которой речь пойдёт об LXC и создании первого контейнера.
Что такое LXC?
LXC - интерфейс в пользовательском пространстве для работы с контейнерами, реализованные в ядре Linux. Мощный API и простые инструменты позволяют линукс пользователям легко создавать и управлять контейнерами.
Проект LXC активно разрабатывается с выпуском промежуточных релизов каждый месяц. Первый стабильный релиз ожидается в феврале 2014 года. В его разработке участвовало 67 разработчиков из разных стран и компаний.
ГитХаб проекта: http://github.com/lxc
Веб сайт: http://linuxcontainers.org
Почтовая рассылка: http://lists.linuxcontainers.org
LXC 1.0
LXC 1.0 - первый, реально стабильный релиз LXC, который будет поддерживаться 5 лет и будет поставляться с Ubuntu 14.04 LTS, выходящая в апреле 2014 года.
LXC 1.0 будет идти с:
- стабильным API.
- набором новых, интересных возможностей, которые будут описаны в следующих статьях.
- поддержкой широкого спектра хостовых и гостевых дистрибутивов, в том числе Android.
Как получить LXC?
Ради справки, стоит знать, что LXC в Ubuntu, начиная с 12.04. Сейчас речь пойдёт о получении более новых версий.
Подразумевается далее по тексту, что вы используете Ubuntu. Для получения последних версий LXC для Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04 можно использовать PPA https://launchpad.net/~ubuntu-lxc/+archive/daily
Если вы по непонятной причине не хотите использовать deb пакеты с дневными билдами и хотите самостоятельно скомпилировать нужное, хотя это не рекомендуется в linux системах с пакетным менеджментом, то на свой страх и риск:
git clone git://github.com/lxc/lxc cd lxc sh autogen.sh ./configure make sudo make install
Первый контейнер.
Предположим, что вы так или иначе используете последнюю версию LXC, хотелось бы верить что применяя пакеты deb.
Создаём контейнер p1, используя шаблон ubuntu и такую же архитектуру и версию как и хост. Использование "-- --help" выведет список всех доступных опций.
sudo lxc-create -t ubuntu -n p1
Запуск контейнера в фоне.
sudo lxc-start -n p1 -d
Вход в контейнер одним из различных путей:
- Присоединение к консоли контейнера (ctrl-a + q для отсоединения)
sudo lxc-console -n p1
- Запуск bash напрямую в контейнере, минуя логин. Требуется ядро >= 3.8.
sudo lxc-attach -n p1
SSH в контейнер. Логин ubuntu, пароль ubuntu.
sudo lxc-info -n p1 ssh ubuntu@IP-из-lxc-info
Остановка контейнера одним из различных путей:
- Остановка контейнера из самого контейнера.
sudo poweroff
- Корректная остановка контейнера из хоста.
sudo lxc-stop -n p1
- Грубое убийство контейнера из хоста.
sudo lxc-stop -n p1 -k
Вот и готов первый контейнер. Как и обещано, в Ubuntu - всё просто! Ядра обладают поддержкой всего что нужно для LXC и контейнер использует bridge и DHCP по умолчанию. Естественно, всё можно изменить и настроить под свои нужды, но это в следующих статьях.
Стефан Грабер рассказывает о планах и датах LXC 1.0.
Продолжение LXC 1.0: Второй контейнер.
Дополнительные материалы:
Серия статей LXC 1.0 от Стефана Грабера.
LXC и Vagrant. 13 причин использовать Ubuntu Server. Часть 3.
Вход в систему Unity Greeter может аутентифицировать в системе, находящейся в LXC контейнере.
Немає коментарів:
Дописати коментар