Контейнеры#

Поддерживаются образы следующих типов:

  • Standard – базовая ОС Astra Linux Special Edition и стандартные утилиты из базовой системы.

  • Multi-service (init) – базовая ОС Astra Linux Special Edition с системой инициализации systemd.

  • Service – базовая ОС Astra Linux Special Edition с установленным сетевым сервисом.

  • Dev – базовая ОС Astra Linux Special Edition и окружение для одного из языков программирования.

Поддерживаются следующие сетевые сервисы:

  • Apache2;

  • DinD (Docker in Docker);

  • Dotnet sdk (.NET SDK);

  • HaProxy;

  • MariaDB;

  • Memcached;

  • MySQL;

  • Nginx;

  • Podman;

  • PostgreSQL;

  • RabbitMQ;

  • Redis.

Поддерживаются следующие языки программирования (в примере указаны версии из базовых репозиториев):

  • C++;

  • Erlang;

  • Go;

  • NodeJS;

  • OpenJDK;

  • Perl;

  • PHP;

  • Python;

  • Ruby;

  • Rust.

Базовый образ Standard собирается с помощью Packer в один слой.

Все остальные образы собираются через заранее написанные Dockerfile на базе образа Standard.

Примечание

Образ Minimal находится в разработке.

../../../_images/ubi_images.svg

Тегирование образов#

Для образов определены теги вида:

  • latest – назначается на самую новую версию ОС и самый новый релиз. Например, если тег не указан при выполнении команды podman pull, будет загружена версия с тегом latest.

  • X.Y – назначается на самую новую мажорную версию ОС и самый новый релиз. Он соответствует тегу latest, если для ОС существует только одна мажорная версия. Если ОС имеет несколько мажорных версий, то тегов будет по количеству этих версий, и каждый из них будет указывать на самый новый релиз для этой версии ОС.

  • X.Y.Z – назначается на самую новую версию ОС и самый новый релиз. Тег перемещается с очередным релизом.

  • X.Y.Z-mgA.B.C – назначается на определенные версии ОС и релиз. Назначается единожды и всегда указывает на конкретный образ.

Примеры работы с образами UBI#

Скачивание образа astra/ubi17:1.7.3#

podman pull registry.astralinux.ru/library/astra/ubi17:1.7.3

Запуск контейнера с astra/ubi17:1.7.5 в фоновом режиме с прикрепленным томом#

podman run -d \
   --name alse_volume \
   --mount type=bind,source="$(pwd)"/data,target=/usr/data \
   registry.astralinux.ru/library/astra/ubi17:1.7.5 \
   /bin/sh -c 'while true; do sleep 10; done'

Примечание

Каталог data/ должен существовать.

Запуск контейнера astra/ubi18:latest в интерактивном режиме c удалением контейнера по завершению#

podman run -it --rm \
   --name alse_mg \
   registry.astralinux.ru/library/astra/ubi18:latest \
   /bin/bash

Запуск контейнера astra/ubi17:1.7.5-mg13.1.2 в фоновом режиме#

podman run -d \
   --name alse_mg  \
   registry.astralinux.ru/library/astra/ubi17:1.7.5-mg13.1.2 \
   /bin/sh -c 'while true; do sleep 10; done'

Запуск контейнера ubi18-postgresql15#

  1. Создание каталогов для хранения данных и настроек:

    mkdir -p /data/postgresql/15/conf
    
  2. Добавление файла конфигурации аудита:

    echo "ac_audit_file = '/var/lib/postgresql/15/main/pg_audit.conf'" > /data/postgresql/15/conf/ac_audit_file.conf
    
  3. Создание volume для хранения данных:

    sudo docker volume create postgresql15
    
  4. Инициализация БД:

    sudo docker run -it \
    --rm --name postgresql15 \
    -v postgresql15:/var/lib/postgresql/15/main \
    -v /data/postgresql/15/conf/ac_audit_file.conf:/etc/postgresql/15/main/conf.d/ac_audit_file.conf \
    -p 5432:5432 \
    --entrypoint /usr/lib/postgresql/15/bin/initdb \
    registry.astralinux.ru/library/astra/ubi18-postgresql15:latest \
    -D /var/lib/postgresql/15/main
    
  5. Запуск контейнера с его последующим автоматическим удалением после остановки (данные в каталоге с данными остаются):

    sudo docker run -d \
    --rm \
    --name postgresql15 \
    -e POSTGRES_PASSWORD=yoursecretpassword \
    -e PGDATA=/var/lib/postgresql/15/main \
    -v postgresql15:/var/lib/postgresql/15/main \
    -p 5432:5432 \
    registry.astralinux.ru/library/astra/ubi18-postgresql15:latest