Обновление Loginom в системе контейнеризации Скачать в PDF
Перед выполнением обновления рекомендуется сделать резервную копию рабочей директории, чтобы в случае неудачного обновления можно было вернуться к версии, установленной ранее. Если Loginom был установлен с путями по умолчанию, то для этого необходимо выполнить команду:
cp -r /var/opt/loginom-docker/ /var/opt/loginom-docker-backup
Подготовка дистрибутива
Перед началом обновления выполняется подготовка дистрибутива, для этого необходимо распаковать архив с дистрибутивом, выполнив команду:
tar -xf <архив_с_дистрибутивом>.tar
В результате образуется директория, внутри которой располагается архив с установочным скриптом. Архив loginom-install-docker*.tgz необходимо распаковать и перейти в образовавшуюся директорию:
cd <директория_с_дистрибутивом>
tar -xf <архив_с_установочным_скриптом>.tgz
cd <директория_с_установочным_скриптом>
Дополнительные компоненты
Если требуется установка дополнительных компонентов, таких как Python, ODBC-драйверы и прочее, то необходимо указать это в файле-сценарии сборки образа server/Dockerfile. Отредактировать файл можно, например, с помощью команды:
nano ./server/Dockerfile
FROM docker.io/debian:trixie-slim
#FROM docker.io/debian:bookworm-slim
#FROM docker.io/debian:bullseye-slim
#FROM docker.io/ubuntu:22.04
#FROM docker.io/ubuntu:24.04
#FROM registry.astralinux.ru/library/astra/ubi18:1.8
LABEL "org.opencontainers.image.vendor"="Loginom Company"
LABEL "org.opencontainers.image.title"="Loginom Server"
ARG DEBIAN_FRONTEND=noninteractive
ARG ACCEPT_EULA=Y
COPY server/ /app/
COPY libs/ /app/
RUN apt-get update && apt-get install -y --no-install-recommends \
tzdata \
libpcre2-8-0 \
zlib1g \
'^libicu[678][0-9]$' \
librdkafka1 \
libmariadb3 \
libsqlite3-0 \
#unixodbc \
#tdsodbc \
libtomcrypt1 \
libtommath1 && \
apt-get clean && rm -rf /var/lib/apt/lists/* && \
mkdir -p /app/firebird/lib && \
ln -snf /app/firebird/lib/libfbclient.so.5.0.2 /app/firebird/lib/libfbclient.so.2 && \
ln -snf /app/firebird/lib/libfbclient.so.2 /app/firebird/lib/libfbclient.so && \
ln -snf /app/firebird/lib/libfbclient.so /usr/lib/x86_64-linux-gnu/libfbclient.so
# Installing the package required to add certificates into container {#installing-the-package-required-to-add-certificates-into-container}
#RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && \
# apt-get clean && rm -rf /var/lib/apt/lists/* {#-apt-get-clean--rm--rf-varlibaptlists}
# Installing Microsoft ODBC Driver 18 for SQL Server {#installing-microsoft-odbc-driver-18-for-sql-server}
# The msodbcsql18_18.4.1.1-1_amd64.deb file should be located in the 'server/libs' directory of the distribution {#the-msodbcsql1818411-1amd64deb-file-should-be-located-in-the-serverlibs-directory-of-the-distribution}
#RUN apt-get update && apt-get install -y --no-install-recommends \
# libgssapi-krb5-2 \ {#libgssapi-krb5-2-}
# /app/msodbcsql18_18.4.1.1-1_amd64.deb \ {#appmsodbcsql1818411-1amd64deb-}
# locales && \ {#locales--}
# localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 && \ {#localedef--i-ruru--f-utf-8-ruruutf-8--}
# rm -f /app/msodbcsql18_18.4.1.1-1_amd64.deb && \ {#rm--f-appmsodbcsql1818411-1amd64deb--}
# apt-get clean && rm -rf /var/lib/apt/lists/* {#apt-get-clean--rm--rf-varlibaptlists}
# Installing Python and some of its libraries {#installing-python-and-some-of-its-libraries}
#RUN apt-get update && apt-get install -y --no-install-recommends python3 \
# python3-pandas python3-numpy python3-sklearn && \ {#python3-pandas-python3-numpy-python3-sklearn--}
# apt-get clean && rm -rf /var/lib/apt/lists/* {#apt-get-clean--rm--rf-varlibaptlists}
ENV LANG=ru_RU.UTF-8
ENV LD_PRELOAD=/app/libtcmalloc_minimal.so.4.4.5
ENV TCMALLOC_AGGRESSIVE_DECOMMIT=true
ENTRYPOINT ["/app/loginomd", "--run", "-workdir=/workdir"]
Остановка контейнеров
Перед началом обновления необходимо остановить работающие контейнеры. Для этого нужно выполнить команду:
sudo docker compose -f /var/opt/loginom-docker/docker-compose.yml down
Обновление образов
Для выполнения обновления необходимо запустить установочный скрипт с параметром update с помощью команды:
sudo bash setup.sh --update
Запуск контейнеров
После обновления образов необходимо запустить контейнеры, выполнив команду:
sudo docker compose -f /var/opt/loginom-docker/docker-compose.yml up -d
Чтобы убедиться, что контейнеры запущены и работают, можно выполнить команду:
sudo docker ps -a
Должен отобразиться список всех контейнеров — как работающих, так и нет.
Примечание: В данной инструкции представлены команды для Loginom, установленного с использованием Docker. В случае с Podman инструкция по обновлению аналогична за исключением некоторых особенностей, описанных в статье Установка Loginom в систему контейнеризации Podman или Docker.