Запуск сервисов#
В данном разделе приведены примеры:
- Миграции таблиц баз данных
- Создания бакетов
- Запуска контейнеров
Сервисы LUNA PLATFORM должны запускаться в следующем порядке:
- Базы данных, балансировщики, HASP сервис и прочие сторонние сервисы
- Configurator
- Image Store
- Accounts
- Licenses
- Faces
- Events
- Python Matcher
- Python Matcher Proxy. Сервис отключен по умолчанию.
- Remote SDK
- Handlers
- Tasks
- Sender
- API
- Admin
Сервис Lambda (отключен по умолчанию) можно запустить после сервисов Licenses и Configurator.
Далее необходимо запустить сервис Backport 3 и его пользовательский интерфейс:
Рекомендуется запускать контейнеры один за другим и ожидать отображения статуса контейнера "up" (команда docker ps
).
Некоторые из этих сервисов не являются обязательными к запуску и можно отключить их использование. Рекомендуется использовать сервисы Events, Tasks, Sender и Admin по умолчанию. См. раздел "Использование необязательных сервисов" для более подробной информации.
При запуске каждого сервиса используются определенные параметры, например, --detach
, --network
и др. См. раздел "Описание параметров запуска" для получения более подробной информации о всех параметрах запуска сервисов LUNA PLATFORM и баз данных.
См. раздел "Команды Docker" для получения более подробной информации о работе с контейнерами.
Настройка мониторинга#
Для мониторинга сервисов LUNA PLATFORM требуется наличие запущенной базы данных Influx 2.0.8-alpine. Ниже приведены команды по запуску контейнера InfluxDB.
Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.
При необходимости можно настроить визуализацию данных мониторинга с помощью сервиса LUNA Dashboards, включающего в себя настроенную систему визуализации данных Grafana. Кроме того, можно запустить инструмент для расширенной работы с логами Grafana Loki. См. инструкцию по запуску LUNA Dashboards и Grafana Loki в разделе "Визуализация мониторинга и логов с помощью Grafana".
Миграция InfluxDB с версии 1#
При необходимости можно обновиться с версии InfluxDB OSS 1.
Процесс миграции InfluxDB с версии 1 не описывается в данной документации. В InfluxDB предоставлены встроенные инструменты для миграции с версии 1 на версию 2. См. документацию:
https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/docker/
InfluxDB OSS 2#
Можно использовать InfluxDB OSS 2 как сервис, или запустить его в Docker-контейнере.
Если планируется использовать InfluxDB OSS 2 как сервис, пропустите данный шаг, убедившись, что выполнена миграция с InfluxDB OSS 1.
Для запуска InfluxDB OSS 2 в Docker-контейнере выполните нижеописанные действия:
- остановите сервис InfluxDB
systemctl stop influxdb.service
- запустите InfluxDB OSS 2 в Docker-контейнере:
Используйте команду docker run
со следующими параметрами:
docker run \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_BUCKET=luna_monitoring \
-e DOCKER_INFLUXDB_INIT_USERNAME=luna \
-e DOCKER_INFLUXDB_INIT_PASSWORD=password \
-e DOCKER_INFLUXDB_INIT_ORG=luna \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=kofqt4Pfqjn6o0RBtMDQqVoJLgHoxxDU mmhiAZ7JS6VmEnrqZXQhxDhad8AX9tmiJH6CjM7Y1U8p5eSEocGzIA== \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/influx:/var/lib/influxdb2 \
--restart=always \
--detach=true \
--network=host \
--name influxdb \
dockerhub.visionlabs.ru/luna/influxdb:2.0.8-alpine
Если необходимо задать пользовательские настройки БД Influx (например, задать IP-адрес и порт при запуске InfluxDB на отдельном сервере), то необходимо изменить в их настройках каждого сервиса LUNA PLATFORM. См. раздел "Задание пользовательских настроек InfluxDB" для подробной информации.
Запуск сторонних сервисов#
В данном разделе описывается запуск баз данных и очередей сообщений в Docker-контейнерах. Они должны быть запущены перед сервисами LP.
Redis#
Можно продолжить использовать Redis как сервис, или запустить его в Docker-контейнере.
Если планируется использовать Redis как сервис, пропустите данный шаг.
Для запуска Redis в Docker-контейнере выполните нижеописанные действия:
- остановите сервис Redis
systemctl stop redis.service
- запустите Redis в Docker-контейнере:
docker run \
-v /etc/localtime:/etc/localtime:ro \
--name=redis \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/redis:7.0.5-alpine3.16
Миграция БД PostgreSQL 9.6#
В новой версии LUNA PLATFORM используется БД PostgreSQL 12. Необходимо выполнить миграцию БД PostgreSQL 9.6.
Ниже приводится пример команд по миграции БД PostgreSQL с версии 9.6, запущенной на сервере, на версию 12, запущенную в Docker-контейнере. При необходимости можно выполнить миграцию на версию 12, запущенную на сервере как сервис (не описано в данной документации).
Выполните резервное копирование БД PostgreSQL 9.6, экспортировав данные в SQL-скрипт миграции.
Команда pg_dumpall
доступна только суперпользователю. Необходимо выдать соответствующие права для пользователя luna
, если они еще не были выданы. Права можно выдать с помощью следующей команды:
psql -U postgres -c "ALTER USER luna SUPERUSER";
Экспортируйте данные пользователя в SQL-скрипт миграции:
Скрипт будет сохранен в текущую директорию.
pg_dumpall -c -U luna > db9_6.sql
Остановите сервис PostgreSQL 9.6:
systemctl stop postgresql-9.6.service
Запустите контейнер БД PostgreSQL 12:
docker run \
--env=POSTGRES_USER=luna \
--env=POSTGRES_PASSWORD=luna \
--shm-size=1g \
-v /var/lib/luna/postgresql/data/:/var/lib/postgresql/data/ \
-v /var/lib/luna/current/example-docker/postgresql/entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ \
-v /etc/localtime:/etc/localtime:ro \
--name=postgres \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/postgis-vlmatch:12
-v /var/lib/luna/current/example-docker/postgresql/entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ \
- скрипт "docker-entrypoint-initdb.d" включает в себя команды для создания баз данных сервисов.
-v /var/lib/luna/current/example-docker/postgresql/data/:/var/lib/postgresql/data/
- эта команда позволяет монтировать директорию "data" в контейнер PostgreSQL. Директория на сервере и директория в контейнере будут синхронизированы. Данные PostgreSQL из контейнера будут сохраняться в эту директорию.
--network=host
- при необходимости изменить порт для PostgreSQL, следует изменить эту строку на -p 5440:5432
. Здесь первый порт 5440
- локальный, а 5432
- порт в контейнере.
Все базы данных для сервисов LP следует создавать вручную, если используется уже установленный PostgreSQL.
Скопируйте SQL-скрипт миграции в контейнер БД PostgreSQL 12:
docker cp db9_6.sql postgres:/db9_6.sql
Выполните миграцию:
docker exec -t postgres psql -U luna -f /db9_6.sql
Удалите использованный SQL-скрипт миграции из контейнера БД PostgreSQL 12:
docker exec postgres rm /db9_6.sql
Удалите использованный SQL-скрипт миграции из текущей директории:
rm -f db9_6.sql
Обратите внимание, что если используется внешняя БД PostgreSQL, то необходимо дополнительно активировать программное обеспечение Postgis. См. подробную информацию и примеры использования внешней базы данных вне контейнера Docker в разделе "Внешняя база данных" руководства по установке LUNA PLATFORM 5.
Configurator#
Использование необязательных сервисов#
Следующие сервисы необязательны для LP:
- Events
- Image Store
- Tasks
- Sender
- Handlers
- Python Matcher Proxy (отключен по умолчанию)
- Lambda (отключен по умолчанию)
Эти сервисы можно отключить при отсутствии необходимости в них.
Используйте секцию "ADDITIONAL_SERVICES_USAGE" в настройках сервиса API в сервисе Configurator, чтобы отключить ненужные сервисы.
Можно использовать файл сброса, предоставленный в комплекте поставки, для включения/отключения сервисов перед запуском сервиса Configurator.
vi /var/lib/luna/current/extras/conf/platform_settings.json
Отключение какого-либо из сервисов имеет определенные последствия. См. подробную информацию в разделе "Отключаемые сервисы" руководства администратора.
Создание таблиц базы данных Configurator#
Используйте команду docker run
со следующими параметрами для создания таблиц базы данных Configurator.
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/current/example-docker/luna_configurator/configs/luna_configurator_postgres.conf:/srv/luna_configurator/configs/config.conf \
-v /var/lib/luna/current/extras/conf/platform_settings.json:/srv/luna_configurator/used_dumps/platform_settings.json \
--network=host \
-v /tmp/logs/configurator:/srv/logs \
--rm \
--entrypoint bash \
dockerhub.visionlabs.ru/luna/luna-configurator:v.2.1.61 \
-c "python3 ./base_scripts/db_create.py; cd /srv/luna_configurator/configs/configs/; python3 -m configs.migrate --config /srv/luna_configurator/configs/config.conf head; cd /srv; python3 ./base_scripts/db_create.py --dump-file /srv/luna_configurator/used_dumps/platform_settings.json"
/var/lib/luna/current/extras/conf/platform_settings.json
- позволяет задавать путь к файлу с конфигурациями LP.
./base_scripts/db_create.py;
- создает структуру базы данных.
python3 -m configs.migrate head;
- выполняет миграции настроек в базе данных Configurator и устанавливает ревизию для миграции. Ревизия потребуется в процессе обновления на новую сборку LP5.
--dump-file /srv/luna_configurator/used_dumps/platform_settings.json
- обновляет настройки в базе данных Configurator значениями из предоставленного файла.
Запуск контейнера Configurator#
Используйте команду docker run
со следующими параметрами для запуска Configurator:
docker run \
--env=PORT=5070 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/current/example-docker/luna_configurator/configs/luna_configurator_postgres.conf:/srv/luna_configurator/configs/config.conf \
-v /tmp/logs/configurator:/srv/logs \
--name=luna-configurator \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-configurator:v.2.1.61
На данном этапе можно активировать запись логов в файл, если необходимо сохранять их на сервере (см. раздел "Запись логов на сервер").
Миграция из LUNA PLATFORM 3 в Backport 3#
В данном разделе описывается миграция аккаунтов, биометрических шаблонов и персон из баз данных LUNA PLATFORM 3 в базы данных LUNA PLATFORM 5.
Редактирование файла конфигурации#
Перед началом миграции необходимо настроить следующий конфигурационный файл:
vi /var/lib/luna/current/extras/conf/migration_config.conf
Введите следующую информацию:
- Основные параметры сервисов API, Faces, Broker (LUNA PLATFORM 3);
- Основные параметры сервисов Backport 3 и Faces (LUNA PLATFORM 5);
- Основные параметры Luna Image Store;
- Параметры ведения логов.
Перед миграцией#
-
Сервер, на котором запущен скрипт миграции, должен иметь соединение со всеми заданными базами данных и сервисом Broker.
-
Убедитесь в том, что сервис Broker (LUNA PLATFORM 3) запущен. Он используется для получения биометрических шаблонов из базы данных.
Запускать сервисы LUNA PLATFORM 5 для выполнения миграции необязательно.
Имена баз данных Faces (LUNA PLATFORM 3) и Faces (LUNA PLATFORM 5) по умолчанию одинаковы (luna_faces). Необходимо исправить это одним из следующих способов:
-
Можно использовать другую PostgreSQL для создания новой базы данных для сервиса Faces (LUNA PLATFORM 5), тогда имя "luna_faces" не будет изменено. В этом случае следует задать новый адрес базы данных PostgreSQL в разделе "LUNA_FACES_DB" файла конфигурации Faces/Configurator.
-
Можно создать новую базу данных для LUNA PLATFORM 5 (например, "luna_faces_5") и изменить имя по умолчанию для базы данных Faces в разделе "LUNA_FACES_DB" файла конфигурации Faces/Configurator.
Второй способ описан в данном руководстве ниже.
Перед миграцией убедитесь в том, что базы данных для Backport 3 (LUNA PLATFORM 5) и для Faces (LUNA PLATFORM 5) пусты (записи отсутствуют).
Не запускайте создание таблиц баз данных для сервиса Faces до изменения имени базы данных/адреса PostgreSQL в разделе "LUNA_FACES_DB" конфигурационного файла Faces/Configurator. В противном случае могут быть потеряны данные, хранящиеся в базе данных Faces LUNA PLATFORM 3.
Создание базы данных Faces для LUNA PLATFORM 5#
Создайте новую базу данных:
docker exec -it postgres psql -U luna -c "CREATE DATABASE luna_faces_5;"
Присвойте привилегии пользователю базы данных:
docker exec -it postgres psql -U luna -c "GRANT ALL PRIVILEGES ON DATABASE luna_faces_5 TO luna;"
Разрешите пользователю авторизацию в базе данных:
docker exec -it postgres psql -U luna -c "ALTER ROLE luna WITH LOGIN;"
Добавьте функцию VLMatch для выполнения сравнения:
docker exec -it postgres psql -U luna -d luna_faces_5 -c "CREATE OR REPLACE FUNCTION VLMatch(bytea, bytea, int) RETURNS float8 AS '/srv/VLMatchSource.so', 'VLMatch' LANGUAGE C PARALLEL SAFE;";
Изменение используемой базы данных#
Следует задать имя базы данных "luna_faces_5" в настройках сервиса Faces.
- Откройте пользовательский интерфейс сервиса Configurator (
http://<server_name>:5070
). - Выберите "luna-faces" в фильтре "Service name".
- Найдите группу настроек "LUNA_FACES_DB".
- Установите параметр "db_name": "luna_faces_5".
- Нажмите [Save].
Создание таблиц базы данных Faces#
Используйте следующую команду для создания таблиц базы данных Faces:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/faces:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-faces:v.4.8.28 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Создание таблиц базы данных Backport 3#
Используйте следующую команду для создания таблиц базы данных для Backport 3:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/backport3:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Создание таблиц базы данных Accounts#
Используйте следующую команду для создания таблиц базы данных Accounts:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/accounts:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-accounts:v.0.1.28 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Запуск миграции#
Все процессы по миграции выполняются с помощью скрипта "start_migration.py". См. раздел "Описание скрипта миграции" ниже для дополнительной информации об этом скрипте.
Запустите скрипт с помощью контейнера Backport 3:
docker run \
--rm -t \
-v /tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
-v /var/lib/luna/image_store:/local_storage \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py"
Можно дополнительно использовать параметр
--skip_missing_descriptors
, который позволяет игнорировать недостающие БШ в базе данных LP 3.
-v /tmp/logs/backport3:/srv/logs
- скрипт сохраняет логи в директорию /srv/logs
по умолчанию. Затем логи перемещаются в директорию /tmp/logs/backport3
на сервере.
Конфигурационный файл /var/lib/luna/current/extras/conf/migration_config.conf
добавляется в контейнер для запуска скрипта.
-v /var/lib/luna/luna_v.3.3.8/luna-image-store/luna_image_store/local_storage:/local_storage
- локальное хранилище с биометрическими образцами Image Store добавляется в контейнер. Это необходимо для миграции биометрических образцов.
cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py
- файл "requirements.txt" необходим для запуска скрипта "start_migration.py" с набором указанных зависимостей.
Описание скрипта миграции#
Перенос данных осуществляется в следующем порядке:
- миграция базы данных сервиса API (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)
- миграция базы данных сервиса Faces (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)
- миграция базы данных сервиса Faces (LUNA PLATFORM 3) в базу данных Faces (LUNA PLATFORM 5)
- обновление БШ в базе данных Faces (LUNA PLATFORM 5) из базы данных CORE (LUNA PLATFORM 3)
- добавление аккаунтов к БО и по желанию портретов в хранилище Image Store
При выполнении миграции БД сервисов API и Faces, все аккаунты LP 3 будут мигрированы и сохранены в БД сервиса Accounts. Все мигрированные аккаунты будут иметь тип "user". Поля "password", "email" и "organization_name" перенесутся в БД Account под новыми именами - "password", "login" и "description" соответственно. Токены будут храниться в БД Backport3, однако их идентификатор также будет занесен в БД Accounts, где автоматически будут выставлены необходимые разрешения.
Когда скрипт запущен, создается два файла - "luna-backport3_ERROR_migration.txt" и "luna-backport3_WARNING_migration.txt". Файлы включают в себя информацию обо всех ошибках и предупреждениях, возникших в процессе миграции.
Эти файлы сохраняются в директорию "/srv/logs/" в контейнере.
Запустите следующий скрипт для получения справки:
docker run --rm -t \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --help"
Чтобы начать отдельные шаги по миграции, передайте аргумент --migrate
командной строки.
Аргумент принимает следующие параметры:
stage_1
- миграция из баз данных API (LUNA PLATFORM 3) и Faces (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)stage_2
- миграция из базы данных Faces (LUNA PLATFORM 3) в базу данных Faces (LUNA PLATFORM 5)stage_3
- обновление БШ в Faces (LUNA PLATFORM 5) из базы данных CORE (LUNA PLATFORM 3)stage_4
- добавление аккаунтов к БО и по желанию портретов (--migrate_portraits
флаг) в хранилище Image Storeall
- выполнение всех перечисленных шагов
Пример кода:
docker run \
--rm -t \
-v /tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
-v /var/lib/luna/image_store:/local_storage \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --migrate stage_1"
Если миграция происходит с шага
stage_3
, проверьте, чтобы в таблицах "face" и "attribute" в базе данных Faces (LUNA PLATFORM 5) были логи.
Если что-то пошло не так в процессе шага stage_3
, используйте аргумент --lower_boundary
, чтобы указать последний неудачный идентификатор лица для продолжения миграции. Этот идентификатор можно найти в миграционных логах.
Пример:
docker run --rm -t -v \
/tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --lower_boundary 02e7b0db-b3c3-4446-bbdd-0f0d9a566058"
Остановка сервисов LUNA PLATFORM 3#
Остановите и отключите все сервисы LUNA PLATFORM 3
systemctl stop luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike
systemctl disable luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike
systemctl status luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike
Image Store#
Миграция биометрических образцов#
Миграция биометрических образцов требуется для добавления аккаунта к каждому биометрическому образцу.
Создайте резервную копию всех бакетов биометрических образцов перед запуском следующего скрипта.
Предполагается, что хранилище Image Store из LUNA PLATFORM 3 будет использоваться с LUNA PLATFORM 5.
Необходимо использовать существующие бакеты во время запуска LUNA PLATFORM 5 Image Store.
Измените бакет, используемый по умолчанию для хранения биометрических образцов, на "visionlabs-warps".
По умолчанию, бакет образцов в LUNA PLATFORM 3 назывался "visionlabs-warps".
- Откройте пользовательский интерфейс сервиса Configurator (
http://<server_name>:5070
). - Введите "LUNA_IMAGE_STORE_FACES_SAMPLES_ADDRESS" в фильтре "Setting name".
- Задайте имя "bucket":
"bucket": "visionlabs-warps"
- Нажмите [Save].
Миграция портретов#
Backport 3 использует биометрические образцы в качестве портретов по умолчанию. Таким образом не требуется сохранять портреты и биометрические образцы одновременно.
См. описание портретов в документации LUNA PLATFORM 3.
Если биометрические образцы не будут использоваться как портреты, необходимо произвести миграцию портретов (запустите миграцию с флагом --migrate_portraits).
Если требуются портреты, необходимо выключить настройку "USE_SAMPLES_AS_PORTRAITS" в настройках сервиса Backport 3.
Выполните один из следующих шагов, если собираетесь использовать портреты:
-
Если используемые портреты хранились в сервисе Image Store (была включена настройка "SEND_TO_LUNA_IMAGE_STORE" в сервисе API в LUNA PLATFORM 3), необходимо задать соответствующие настройки в группе параметров "LUNA_IMAGE_STORE_PORTRAITS_ADDRESS" в настройках сервиса Backport 3. Старые значения настроек можно найти в настройках "LUNA_IMAGE_STORE_ORIGIN" и "LUNA_IMAGE_STORE_BUCKET" в конфигурационном файле сервиса API (LUNA PLATFORM 3).
-
Если для хранения портретов использовался плагин, следует переместить существующие портреты в сервис Image Store в LUNA PLATFORM 5. См. раздел "Image Store" руководства администратора для получения подробной информации о создании бакета и сохранении изображений в сервисе.
Все приведенные настройки можно сконфигурировать в сервисе Configurator в LUNA PLATFORM 5 или в конфигурационных файлах соответствующих сервисов (если сервис Configurator не используется).
Запуск контейнера Image Store#
Примечание. Если вы не собираетесь использовать сервис Image Store, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".
Используйте следующую команду для запуска сервиса Image Store:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5020 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /var/lib/luna/image_store/:/srv/local_storage/ \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/image-store:/srv/logs \
--name=luna-image-store \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-image-store:v.3.9.23
-v /var/lib/luna/image_store/:/srv/local_storage/
- данные из указанной директории добавляются в Docker-контейнер, когда он запущен. Все данные из указанной директории Docker-контейнера сохраняются в данную директорию.
Если директория с бакетами LP уже создана, укажите ее вместо
/var/lib/luna/image_store/
.
Создание бакетов#
Бакеты используются для хранения данных в Image Store. Сервис Image Store должен быть запущен перед выполнением команд.
При обновлении с предыдущей версии рекомендуется запустить команды создания бакетов еще раз. Это гарантирует создание всех необходимых бакетов.
Если в процессе запуска приведенных выше команд появляется ошибка со статус-кодом 13006, это означает, что бакет уже создан.
Бакеты в LP можно создавать двумя способами.
Запустить приведенные ниже скрипты для создания бакетов
Запустите данный скрипт для создания основных бакетов:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-api:v.6.19.4 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1
Если вы собираетесь использовать сервис Tasks, используйте следующую команду, чтобы дополнительно создать "task-result" в сервисе Image Store:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.17.8 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1
Если вы собираетесь использовать портреты, используйте следующую команду, чтобы дополнительно создать "portraits".
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1
Использовать прямые запросы для создания требуемых бакетов
Для следующих запросов требуется утилита curl.
Бакет "visionlabs-samples" используется для хранения биометрических образцов лиц. Этот бакет требуется для использования LP.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-samples
Бакет "portraits" используется для хранения портретов. Этот бакет требуется для использования Backport 3.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=portraits
Бакет "visionlabs-bodies-samples" используется для хранения биометрических образцов тел. Этот бакет требуется для использования LP.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-bodies-samples
Бакет "visionlabs-image-origin" используется для хранения исходных изображений. Этот бакет требуется для использования LP.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-image-origin
Бакет "visionlabs-objects" используется для хранения объектов. Этот бакет требуется для использования LP.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-objects
Бакет "task-result" для сервиса Tasks. Не используйте его, если не собираетесь использовать этот сервис.
curl -X POST http://127.0.0.1:5020/1/buckets?bucket=task-result
Accounts#
Запуск контейнера Accounts#
Используйте следующую команду для запуска сервиса Accounts:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5170 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/accounts:/srv/logs \
--name=luna-accounts \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-accounts:v.0.1.28
Licenses#
Примечание. Для использования триальной лицензии необходимо запускать сервис Licenses на том же сервере, на котором она используется.
Задание настроек лицензии с помощью Configurator#
Выполните действия по заданию настроек для HASP-ключа или Guardant-ключа.
Задание настроек лицензии HASP#
Примечание. Выполняйте данные действия только если используется лицензия HASP. См. раздел "Задание настроек лицензии Guardant", если используется ключ Guardant.
Для задания адреса сервера лицензирования нужно выполнить следующие действия:
-
перейдите в интерфейс сервиса Configurator
http://<configurator_server_ip>:5070/
-
введите в поле "Setting name" значение "LICENSE_VENDOR" и нажмите "Apply Filters"
-
задайте IP-адрес сервера с вашим ключом HASP в поле "server_address" в формате "127.0.0.1".
-
нажмите "Save"
Обратите внимание, что если лицензия активируется с помощью ключа HASP, то должно быть указано два параметра "vendor" и "server_address". Если вы хотите изменить защиту HASP на Guardant, то необходимо добавить поле "license_id".
Задание настроек лицензии Guardant#
Примечание. Выполняйте данные действия только если используется ключ Guardant. См. раздел "Задание настроек лицензии HASP", если используется ключ HASP.
Для задания адреса сервера лицензирования нужно выполнить следующие действия:
-
перейдите в интерфейс сервиса Configurator
http://<configurator_server_ip>:5070/
-
введите в поле "Setting name" значение "LICENSE_VENDOR" и нажмите "Apply Filters"
-
задайте IP-адрес сервера с вашим ключом Guardant в поле "server_address"
-
задайте идентификатор лицензии в формате
0x<your_license_id>
, полученный в разделе "Сохранение идентификатора лицензии" руководства по активации лицензии, в поле "license_id" -
нажмите "Save"
Обратите внимание, что если лицензия активируется с помощью ключа Guardant, то должно быть указано три параметра "vendor", "server_address" и "license_id". Если вы хотите изменить защиту Guardant на HASP, то необходимо удалить поле "license_id".
Запуск контейнера Licenses#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5120 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/licenses:/srv/logs \
--name=luna-licenses \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-licenses:v.0.8.5
Faces#
Запуск контейнера Faces#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5030 \
--env=WORKER_COUNT=2 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/faces:/srv/logs \
--name=luna-faces \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-faces:v.4.8.28
Events#
Создание таблиц базы данных Events#
Примечание. Если вы не собираетесь использовать сервис Events, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".
Используйте следующую команду для создания таблиц базы данных Events:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/events:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-events:v.4.9.8 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Запуск контейнера Events#
Примечание. Если вы не собираетесь использовать сервис Events, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5040 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/events:/srv/logs \
--name=luna-events \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-events:v.4.9.8
Сервисы Python Matcher#
Для задач сравнения можно использовать либо только сервис Python Matcher, либо дополнительно использовать сервис Python Matcher Proxy, который перенаправляет запросы сравнения либо сервису Python Matcher либо плагинам сравнения. В данном разделе описывается использование Python Matcher без Python Matcher Proxy.
Необходимо использовать сервис Python Matcher Proxy только если собираетесь использовать плагины сравнения. Использование Python Matcher Proxy и запуск соответствующего docker-контейнера описаны в разделе "Использование Python Matcher c Python Matcher Proxy".
См. описание и использование плагинов сравнения в руководстве администратора.
Использование Python Matcher без Python Matcher Proxy#
Сервис Python Matcher со сравнением посредством базы данных Faces включен по умолчанию при запуске.
Сервис Python Matcher со сравнением посредством Events также включен по умолчанию. Его можно отключить, указав "USE_LUNA_EVENTS = 0" в разделе "ADDITIONAL_SERVICES_USAGE" настроек Configurator (см. раздел "Использование необязательных сервисов"). Таким образом, сервис Events не будет использоваться для LUNA PLATFORM.
Python Matcher, который производит сравнение с помощью библиотеки сравнений, включается когда "CACHE_ENABLED" установлен как "true" в настройке "DESCRIPTORS_CACHE".
Для сервисов Python Matcher и Python Matcher Proxy загружается одно изображение.
Запуск контейнера Python Matcher#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5100 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/python-matcher:/srv/logs \
--name=luna-python-matcher \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-python-matcher:v.1.6.19
Remote SDK#
Смена модели нейронной сети для извлечения биометрических шаблонов#
В данной версии LUNA PLATFORM произошли следующие изменения, касающиеся моделей нейронных сетей для извлечения биометрических шаблонов тел:
- 105ая модель была удалена из контейнера Remote SDK;
- дефолтная модель была изменена со 107ой на 110ую.
Если ранее использовалась 105ая модель, то запуск сервис Remote SDK завершится ошибкой если не выполнить одно из действий, описанных в разделе "Подготовка к смене версии нейронной сети".
Если ранее использовалась 107ая модель, то запуск сервиса Remote SDK не завершится ошибкой, однако поскольку данная модель считается устаревшей, то рекомендуется обновить модель до 110ой в настройке "DEFAULT_HUMAN_DESCRIPTOR_VERSION", а затем выполнить задачу "Additional extraction" после запуска сервиса Admin.
Пример действий для смены модели нейронной сети в Configurator:
- откройте пользовательский интерфейс Configurator
http://<configurator_server_ip>:5070
; - введите название настройки "DEFAULT_HUMAN_DESCRIPTOR_VERSION" в поле "Setting name" и нажмите "Apply Filters";
- установите модель нейронной сети "110" в настройке "DEFAULT_HUMAN_DESCRIPTOR_VERSION";
- сохраните изменения, нажав кнопку "Save".
Запуск контейнера Remote SDK#
Вы можете запустить сервис Remote SDK, используя CPU (задано по умолчанию) или GPU.
По умолчанию сервис Remote SDK запускается со всеми включенными эстиматорами и детекторами. При необходимости можно отключить использование некоторых эстиматоров или детекторов при запуске контейнера Remote SDK. Отключение ненужных эстиматоров позволяет экономить оперативную память или память GPU, поскольку при старте сервиса Remote SDK выполняется проверка возможности выполнения указанных оценок и загрузка нейронных сетей в память. При отключении эстиматора или детектора можно также удалить его нейронную сеть из контейнера Remote SDK. См. подробную информацию в разделе "Включение/отключение некоторых эстиматоров и детекторов" руководства администратора.
Запустите сервис Remote SDK, используя одну из следующих команд в соответствии с используемым процессором.
Запуск Remote SDK с использованием CPU#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5220 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/remote-sdk:/srv/logs \
--network=host \
--name=luna-remote-sdk \
--restart=always \
--detach=true \
dockerhub.visionlabs.ru/luna/luna-remote-sdk:v.0.2.4
Запуск Remote SDK с использованием GPU#
Сервис Remote SDK не использует GPU по умолчанию. Если вы собираетесь использовать GPU, то следует включить его использование для сервиса Remote SDK в сервисе Configurator.
Если необходимо использовать GPU сразу для всех эстиматоров и детекторов, то необходимо использовать параметр "global_device_class" в секции "LUNA_REMOTE_SDK_RUNTIME_SETTINGS". Все эстиматоры и детекторы будут использовать значение данного параметра, если в параметре "device_class" их собственных настроек выставлено значение "global" (по умолчанию).
Если необходимо использовать GPU для определенного эстиматора или детектора, то необходимо использовать параметр "device_class" в секциях вида "LUNA_REMOTE_SDK_
См. раздел "Вычисления с помощью GPU" для получения дополнительных требований к использованию GPU.
Используйте следующую команду для запуска сервиса Remote SDK с помощью GPU:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5220 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--gpus device=0 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/remote-sdk:/srv/logs \
--network=host \
--name=luna-remote-sdk \
--restart=always \
--detach=true \
dockerhub.visionlabs.ru/luna/luna-remote-sdk:v.0.2.4
--gpus device=0
- параметр указывает используемое устройство GPU и позволяет использовать GPU. Один GPU используется для одного экземпляра Remote SDK. Использование множества GPU для одного экземпляра невозможно.
Handlers#
Примечание. Если вы не собираетесь использовать сервис Handlers, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".
Создание таблиц базы данных Handlers#
Используйте следующую команду для создания таблиц базы данных Handlers:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/handlers:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-handlers:v.3.1.7 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Запуск контейнера Handlers#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5090 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/handlers:/srv/logs \
--name=luna-handlers \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-handlers:v.3.1.7
Tasks#
Примечание. Если вы не собираетесь использовать сервис Tasks, не запускайте контейнер Tasks и контейнер Tasks Worker. Отключите сервис Tasks в сервисе Configurator. См. раздел "Использование необязательных сервисов".
Создание таблиц базы данных Tasks#
Используйте следующую команду для создания таблиц БД Tasks:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.17.8 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Запуск контейнеров Tasks и Tasks Worker#
Образ сервиса Tasks включает в себя сервисы Tasks и Tasks Worker ("рабочие процессы сервиса Tasks"). Они оба должны быть запущены.
Необходимо создать бакет "task-result" для сервиса Tasks перед запуском сервиса. Создание бакетов описано в разделе "Создание бакетов".
Если необходимо использовать задачу Estimator с использованием сетевого диска, то необходимо предварительно смонтировать директорию с изображениями с сетевого диска в специальные директории контейнеров Tasks и Tasks Worker. См. подробную информацию в разделе "Задача Estimator" в руководстве администратора.
Запуск контейнера Tasks worker#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5051 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--env=SERVICE_TYPE="tasks_worker" \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks-worker:/srv/logs \
--name=luna-tasks-worker \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.17.8
Запуск контейнера Tasks#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5050 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--name=luna-tasks \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.17.8
Sender#
Запуск контейнера Sender#
Примечание. Если вы не собираетесь использовать сервис Sender, не запускайте этот контейнер и отключите этот сервис в Configurator. См. раздел "Использование необязательных сервисов".
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5080 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/sender:/srv/logs \
--name=luna-sender \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-sender:v.2.7.8
API#
Запуск контейнера API#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5000 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--name=luna-api \
--restart=always \
--detach=true \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--network=host \
dockerhub.visionlabs.ru/luna/luna-api:v.6.19.4
Admin#
Запуск контейнера Admin#
Примечание. Если вы не собираетесь использовать сервис Admin, не запускайте этот контейнер.
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5010 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/admin:/srv/logs \
--name=luna-admin \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-admin:v.5.4.5
Данные о количестве выполненных запросов сохраняются в бакете luna-admin
базы данных Influx. Для включения сохранения этих данных требуется выполнить следующую команду:
docker exec -it luna-admin python3 ./base_scripts/influx2_cli.py create_usage_task --luna-config http://127.0.0.1:5070/1
Backport 3#
В данном разделе описывается запуск сервиса Backport 3.
Сервис не обязателен для использования LP5 и требуется только для эмуляции LP 3 API.
Запуск контейнера Backport 3#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5140 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--name=luna-backport3 \
--restart=always \
--detach=true \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/backport3:/srv/logs \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.8.25
User Interface 3#
User Interface 3 используется только с сервисом Backport 3.
Запуск контейнера User Interface 3#
Используйте следующую команду для запуска сервиса:
docker run \
--env=PORT=4100 \
--env=LUNA_API_URL=http://127.0.0.1:5140 \
--name=luna-ui-3 \
--restart=always \
--detach=true \
--network=host \
-v /etc/localtime:/etc/localtime:ro \
dockerhub.visionlabs.ru/luna/luna3-ui:v.0.5.9
--env=LUNA_API_URL
- URL сервиса Backport 3.
--env=PORT
- порт сервиса User Interface 3.
Lambda#
Работа с сервисом Lambda возможна только при разворачивании сервисов LUNA PLATFORM в Kubernetes. Для использования необходимо самостоятельно развернуть сервисы LUNA PLATFORM в Kubernetes или обратиться за консультацией к специалистам VisionLabs. Используйте команды ниже в качестве справочной информации.
Примечание. Если вы не собираетесь использовать сервис Lambda, не запускайте этот контейнер.
Включите использование сервиса Lambda (см. раздел "Использование необязательных сервисов").
Подготовка Docker registry#
Необходимо подготовить registry для хранения образов Lambda. Перенесите базовые образы в свой registry с помощью нижеперечисленных команд.
Загрузите базовые образы из удаленного репозитория в локальное хранилище образов:
docker pull dockerhub.visionlabs.ru/luna/lpa-lambda-base-fsdk:v.0.0.3
docker pull dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.3
Добавьте новые имена образам, заменив new-registry
на свои. Имена базовых образов в пользовательском реестре должны быть такими же, как и в реестре dockerhub.visionlabs.ru/luna
.
docker tag dockerhub.visionlabs.ru/luna/lpa-lambda-base-fsdk:v.0.0.3 new-registry/lpa-lambda-base-fsdk:v.0.0.3
docker tag dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.3 new-registry/lpa-lambda-base:v.0.0.3
Отправьте локальные образы в свой удаленный репозиторий, заменив new-registry
на свои.
docker push new-registry/lpa-lambda-base-fsdk:v.0.0.3
docker push new-registry/lpa-lambda-base:v.0.0.3
Создание базы данных Lambda#
Используйте следующую команду для создания базы данных Lambda в PostgreSQL:
docker exec -it postgres psql -U luna -c "CREATE DATABASE luna_lambda;"
Создание таблиц базы данных Lambda#
Используйте следующую команду для создания таблиц базы данных Lambda:
docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/lambda:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-lambda:v.0.0.4 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1
Запуск контейнера Lambda#
Используйте следующую команду для запуска сервиса:
docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5210 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/lambda:/srv/logs \
--name=luna-lambda \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-lambda:v.0.0.4