Работа с 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 используйте следующий типовой сценарий:

  1. Подключите диск с UBI-образом к файловой системе:

    mount <device> <mount_point>
    

    Где:

    • <device> - устройство;

    • <mount_point> - точка монтирования.

    Пример:

    mount /dev/sr0 /mnt/disc
    
  2. Загрузите образ контейнера из архивного файла в локальное хранилище 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
    
  3. Проверьте, что образ загружен в систему:

    podman images
    

    В результате выполнения команды будет выведен список всех загруженных образов, например:

    REPOSITORY                              TAG         IMAGE ID      CREATED     SIZE
    
    localhost/sberlinux_fstec-9-x86_64-ubi  latest      33e54fa8ed00  5 days ago  236 MB
    
  4. Запустите контейнер:

    podman run -itd --entrypoint /bin/sh --name <container_name> --tls-verify=false --privileged localhost/<ubi_image_name>
    

    Где <container_name> - наименование контейнера.

    В результате выполнения команды будет запущен новый контейнер <container_name> со следующими параметрами:

    • фоновый режим работы;

    • интерактивная оболочка;

    • отсутствие проверки TLS-сертификатов при взаимодействии с реестром (не является безопасным, но может использоваться в тестовой среде);

    • имеет расширенные привилегии.

  5. Войдите в контейнер:

    podman exec -it <container_name> bash
    

    Где сочетание опций -it создает интерактивную сессию Bash внутри контейнера <container_name>.

Установка пакетов в контейнер на примере Tomcat#

После входа в контейнер подключитесь к онлайн-репозиторию и установите необходимые пакеты. Подробнее о работе с репозиториями - в разделе «Управление программными пакетами: установка, обновление, удаление» → «Управление репозиториями программного обеспечения».

В качестве примера установки пакетов выбран Tomcat. Для установки Tomcat выполните следующие шаги:

  1. Убедитесь, что 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)
    
  2. Установите Tomcat с помощью пакетного менеджера dnf:

    dnf install tomcat
    
  3. По завершении процесса установки проверьте, присутствует ли в системе исполняемый файл:

    which tomcat
    

    Ожидаемый вывод команды - Tomcat установлен:

    /usr/sbin/tomcat