суботу, 25 січня 2014 р.

LXC 1.0: Первый Ubuntu контейнер

Статья 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 контейнере.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments