Как управлять контейнерами Linux с помощью LXC

Опубликовано: 19 Февраля, 2023

LXC — это технология создания облегченных контейнеров в вашей системе. Эта технология может работать более чем на одном хосте Linux. Это точно так же, как и его аналоги, то есть другие гипервизоры, такие как KVM и Xen. В отличие от полной виртуализации, контейнеризация не обеспечивает пользователю полной изоляции, но нагрузка на хост-ОС значительно меньше.

В этой статье мы увидим управление контейнерами Linux с помощью LXC, дистрибутива Linux, который будет использоваться в Ubuntu.

Установка LXC в систему

Используйте следующую команду для установки LXC в вашей системе:

sudo apt-get install lxc

К сожалению, приведенная выше команда не загружает все шаблоны, поэтому мы можем столкнуться с ошибкой Нет такого файла или каталога — неверный шаблон при создании контейнера. Чтобы убедиться, что у нас установлены шаблоны, выполните следующую команду:

sudo apt-get install lxc-templates

Создание, листинг, вход и остановка контейнера:

Шаг 1: Создание

Новый контейнер можно создать с помощью приведенной ниже команды. Мы создадим пример контейнера с именем sample1, который будет основан на шаблоне Ubuntu:

sudo lxc-create -t  <name_of_template> -n <name_of_container>

Этот процесс занимает некоторое время, потому что нужно собрать много пакетов, а создание контейнера также занимает много времени.

Шаг 2: Список контейнеров

Используйте приведенную ниже команду, чтобы вывести список доступных контейнеров в вашей системе:

sudo  lxc-ls

По умолчанию созданный пользователь — ubuntu, и пароль — тоже ubuntu.

Чтобы увидеть полную информацию о контейнере, используйте следующую команду:

sudo lxc-info -n <name_of_container>

Шаг 3: Запуск контейнера

Для запуска контейнера используйте следующую команду:

sudo lxc-start -n <name_of_container>
 or 
sudo lxc-start -d -n <name_of_container> (To start the container in a detached mode)

Чтобы проверить рабочее состояние контейнера, используйте следующую команду:

sudo lxc-info -n <name_of_container>

Шаг 4: Вход в контейнер

Чтобы войти в контейнер, воспользуемся помощью команды lxc-console:

sudo lxc-console -n <name_of_container>

Чтобы остановить контейнер, используйте следующую команду:

sudo lxc-stop -n <name_of_container>

Подтвердите это:

sudo lxc-info -n <name_of_container>

Шаг 5: Замораживание и размораживание

С помощью команды lxc-freeze мы можем заморозить контейнеры:

sudo lxc-freeze -n <name_of_container>

Подтвердите, остановлен ли контейнер или нет:

Чтобы разморозить замороженный контейнер, используйте следующую команду:

sudo lxc-unfreeze -n <name_of_container>

Шаг 6: Клонирование контейнера и его отключение

Прежде чем мы клонируем контейнер, обязательно остановите его с помощью команды, описанной выше, затем введите приведенную ниже команду, чтобы создать его клон. Имя нашего клонированного контейнера будет sample2.

Примечание. Раньше команда использовала lxc-clone вместо lxc-copy, теперь lxc-clone устарела.

sudo lxc-copy -n <old container> -N <new container>

-n —-> старое имя, -N—-> новое имя

Клон контейнера также можно увидеть вместе с существующим контейнером.

Шаг 7: Выключение контейнера

Чтобы выключить контейнер, используйте следующую команду:

sudo poweroff

Проверьте это после остановки контейнера:

Шаг 8. Сделайте снимки контейнера и его удаления

Чтобы сделать снимок контейнера, используйте команду lxc-snapshot:

sudo lxc-snapshot  -n <name_of_container>

Чтобы удалить контейнер, используйте следующую команду:

sudo lxc-destroy -n <name_of_container>

Управление контейнерами LXC с помощью веб-панели:

Некоторым людям работа с командной строкой кажется немного утомительной, этот метод как раз для них. Установив веб-панель LXC, можно управлять контейнерами с помощью графического интерфейса.

Примечание: Для установки веб-панели вы должны быть пользователем root.

sudo su
wget http://lxc-webpanel.github.io/tools/install.sh -O - | bash

Доступ к пользовательскому интерфейсу можно получить по URL-адресу: http:/your_ip_address:5000/ , используя идентификатор пользователя и пароль, которые по умолчанию являются admin и admin.

Заходим на сайт и вводим данные:

Вы успешно вошли в панель GUI, теперь вы можете легко управлять контейнерами из веб-панели.