Как управлять контейнерами Linux с помощью LXC
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, теперь вы можете легко управлять контейнерами из веб-панели.