В следующей статье мы рассмотрим контейнеры LXD. Коллега уже рассказывал о них в этом блоге некоторое время назад. В эта статья Я уже дал понять, что эти контейнеры полезны по разным причинам. Они изолируют приложения от остальной системы, они портативны, их легко клонировать и / или переносить в другие операционные системы. В случае Gnu / Linux, они работают одинаково в любом дистрибутиве, без необходимости доработки.
Docker - популярное решение, предназначенное для использования в одном приложении, таком как сервер базы данных MySQL. LXD в некоторых отношениях похож, но это разработан, чтобы содержать полную операционную систему. LXD не собирается виртуализировать оборудование, подобное QEMU o VirtualBox. Это означает, что он очень быстрый и предлагает почти собственную скорость выполнения.
В качестве примера использования мы могли бы создать контейнер LXD, установить сервер базы данных и http-сервер. Там у нас будет возможность создать веб-сайт на WordPress, и при необходимости мы сможем перейти с облака на облако, просто переместив этот контейнер LXD туда, где это необходимо. Поскольку контейнер легко клонировать, ваш веб-сайт можно даже загрузить нескольким облачным провайдерам, чтобы создать избыточную и высокодоступную настройку.
Установить и настроить LXD
Чтобы установить LXD, вам просто нужно открыть терминал (Ctrl + Alt + T) и установить. Более того мы также можем установить утилиты ZFS. Это поможет нам ускорить некоторые операции и сэкономить место на диске при работе с контейнерами.
sudo apt install zfsutils-linux lxd
к начать конфигурацию LXD, в этом же терминале пишем:
sudo lxd init
Здесь мы можем нажать Главная для выбора значений по умолчанию.
Найдите и запустите образ дистрибутива LXD
к посмотреть список образов Ubuntu, в терминале пишем:
lxc image list ubuntu: arch=amd64|head
Он может опустите arch = amd64, если вам нужны образы для других архитектур. На изображении выше результаты были ограничены (с | голова), чтобы было легче читать.
Как вы могли видеть на скриншоте выше, отпечаток Ubuntu 18.04 (dcbc8e3e5c2e) Я оставил его выделенным. Если ты заинтересован запуск контейнера с этим дистрибутивом должен использовать этот след. Команда для выполнения будет следующей:
lxc launch ubuntu:dcbc8e3e5c2e
Управление контейнерами LXD
к перечислить все созданные контейнеры, вам просто нужно написать:
lxc list
Позвоночник 'IPV4'особенно важно, если на этом экземпляре запущены какие-либо службы. Например, если вы запускали http-сервер Apache, при написании IP "10.191.112.88"Веб-сайт, размещенный в контейнере, будет отображаться в браузере.
к остановить контейнер, вам просто нужно написать:
lxc stop nombre-contenedor
Это может занять много времени или завершиться ошибкой с дистрибутивами, отличными от Ubuntu. Если это произойдет, вы всегда можете использовать выключение системы чтобы остановить это.
Если ничего не помогает, вы можете принудительная остановка с:
lxc stop nombre-contenedor --force
к начать с контейнера вы должны написать:
lxc start nombre-contenedor
Если вы хотите, двигаться внутри контейнера, бежать:
lxc shell nombre-contenedor
Внутри контейнера вы можете устанавливать программы с помощью 'sudo ап установить'и делайте все, что вы бы делали в обычном дистрибутиве Gnu / Linux., например, настройка сервера Apache.
Любое время выйти из контейнерапросто введите:
exit
Передача файлов в / из контейнеров LXD
к загрузите файл в свой контейнериспользуйте следующий синтаксис:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Включите имя создаваемого файла, а не только каталог, в котором вы хотите его оставить.
к загрузить каталог вместо файла:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
к загрузить каталог из контейнера в вашу операционную систему директор:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Это охватывает базовое использование контейнеров LXD. Существуют более продвинутые функции, такие как моментальные снимки, ограничения на ресурсы, такие как ЦП и ОЗУ, контейнеры клонов и т. Д. Обо всем этом и многом другом можно узнать в официальная документация, В сайт проекта или на твоей странице GitHub.