Требования к базовому образу#

В качестве базового образа может использоваться Alt Linux или Red Hat Universal Base Image 8 Minimal. Для работы приложения необходимы следующие пакеты:

  • java-common

  • java-17-openjdk-headless

  • coreutils

  • openssl

  • which

  • unzip (может входить в число базовых)

  • hostname (может входить в число базовых)

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

  • traceroute

При сборке использовался образ ALT 8 SP Server (cliff). Пример Dockerfile для сборки базового образа c Alt Linux:

FROM {my.company}/path/to/alt-sp8/clean:v0.5.15

RUN apt-get -y update && \
apt-get install -y java-common java-17-openjdk-headless coreutils openssl which traceroute && \
apt-get clean all

При сборке используется образ Red Hat Enterprise Linux 8.7 (Ootpa). Пример Dockerfile для сборки базового образа c Red Hat Universal Base Image 8 Minimal:

FROM registry.access.redhat.com/ubi8-minimal

RUN microdnf update -y && \
    microdnf install -y --nodocs unzip java-17-openjdk-headless glibc-langpack-en hostname openssl which traceroute && microdnf clean all && rm -rf /var/cache/yum/*

При сборке используется образ Platform V SberLinux OS Server (SLO). Пример Dockerfile для сборки базового образа:

FROM {my.company}/path/to/sblnxos/container-8-ubi:8.8-172
COPY sbtsbel.repo /etc/yum.repos.d/

RUN dnf install -y  --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
    unzip \
    procps-ng \
    java-17-openjdk-devel \
    glibc-langpack-en \
    hostname \
    openssl \
    which \
    traceroute \
    findutils \
    && dnf clean all

ENV \
            LANG="C.utf8" \
            TZ="Europe/Moscow" \
            JAVA_HOME="/usr/lib/jvm/java-17" \
            JAVA_VENDOR="openjdk" \
            JAVA_VERSION="17"

RUN source /etc/environment

Ссылку на данный образ с установленными пакетами необходимо указать в переменной BASE_IMAGE в Dockerfile, который поставляется в дистрибутиве.

#Пример:
#ARG BASE_IMAGE={my.company}/path/to/base/alt-sp8:v0.5.15
ARG BASE_IMAGE=<Ссылка на docker-образ в Nexus>
FROM ${BASE_IMAGE} AS build-env

ENV KEYCLOAK_VERSION 22.0.3