Работа с UBI-образом#
Основные понятия#
UBI (Universal Base Image) — универсальный базовый образ, который может использоваться для построения собственных контейнеризированных приложений, совместимых с Platform V SberLinux OS Server. Он обеспечивает стабильность, совместимость и безопасность приложений благодаря стандартизированному набору компонентов и параметров.
UBI-образ сертифицированного ФСТЭК России Platform V SberLinux OS Server находится в поставляемом ISO-образе (подробнее - в разделе Состав дистрибутива и репозиторий). Перед использованием UBI-образ необходимо извлечь.
Примечание
Для работы с контейнерами на Platform V SberLinux OS Server необходимо использовать либо Исполнение OS Server с установленными пакетами средства контейнеризации, либо Исполнение OS Core. Подробнее - в разделе «Установка» Руководства по установке.
Создание контейнера из UBI-образа#
Для создания контейнеров из UBI-образа Platform V SberLinux OS Server используйте следующий типовой сценарий:
Подключите диск с UBI-образом к файловой системе:
mount <device> <mount_point>Где:
<device>- устройство;<mount_point>- точка монтирования.
Пример:
mount /dev/sr0 /mnt/discЗагрузите образ контейнера из архивного файла в локальное хранилище Podman:
podman load -i <mount_point>/containers/<ubi_image_name>Где
<ubi_image_name>- наименование архива, обычно поставляемого в формате.tar-архива, например,sberlinux_fstec-9-x86_64-ubi.tar.gz.В результате выполнения команды будет выведен результат:
Loaded image: localhost/sberlinux_fstec-9-x86_64-ubi:latestПроверьте, что образ загружен в систему:
podman imagesВ результате выполнения команды будет выведен список всех загруженных образов, например:
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/sberlinux_fstec-9-x86_64-ubi latest 33e54fa8ed00 5 days ago 236 MBЗапустите контейнер:
podman run -itd --entrypoint /bin/sh --name <container_name> --tls-verify=false --privileged localhost/<ubi_image_name>Где
<container_name>- наименование контейнера.В результате выполнения команды будет запущен новый контейнер
<container_name>со следующими параметрами:фоновый режим работы;
интерактивная оболочка;
отсутствие проверки TLS-сертификатов при взаимодействии с реестром (не является безопасным, но может использоваться в тестовой среде);
имеет расширенные привилегии.
Войдите в контейнер:
podman exec -it <container_name> bashГде сочетание опций
-itсоздает интерактивную сессию Bash внутри контейнера<container_name>.
Установка пакетов в контейнер на примере Tomcat#
После входа в контейнер подключитесь к онлайн-репозиторию и установите необходимые пакеты. Подробнее о работе с репозиториями - в разделе «Управление программными пакетами: установка, обновление, удаление» → «Управление репозиториями программного обеспечения».
В качестве примера установки пакетов выбран Tomcat. Для установки Tomcat выполните следующие шаги:
Убедитесь, что Tomcat отсутствует в системе:
which tomcatОжидаемый вывод команды - Tomcat не установлен:
/usr/bin/which: no tomcat in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)Установите Tomcat с помощью пакетного менеджера
dnf:dnf install tomcatПо завершении процесса установки проверьте, присутствует ли в системе исполняемый файл:
which tomcatОжидаемый вывод команды - Tomcat установлен:
/usr/sbin/tomcat