Перейти к содержанию

Установка LUNA PASS с помощью Docker#

Данный раздел описывает установку и использование Docker Compose для развертывания LUNA PASS.

Docker и Docker Compose не входят в дистрибутив LUNA PASS. Для корректной работы сервиса необходимо настроить SSL и NGINX.

Docker позволяет создать контейнер, в котором уже имеется требуемый сервис, программная среда для него и минимальный набор необходимых инструментов. Docker Compose используется для автоматического развертывания контейнеров.

Установка Docker и Docker Compose#

Используйте официальную инструкцию для установки Docker Engine и Docker Compose.

Авторизация в registry#

Для запуска сервисов необходимо получить их образы из dockerhub.visionlabs.ru (VisionLabs registry). Перед этим необходима авторизация.

docker login dockerhub.visionlabs.ru --username <username> --password <password>

Введите логин <username> и пароль <password>. Получить их можно, обратившись к специалистам компании VisionLabs.

Подготовка и распаковка дистрибутива#

Дистрибутив представляет собой архив вида «luna_pass_X.Y.ZZ», где X.Y.ZZ — численный идентификатор, обозначающий версию продукта.

Архив содержит все компоненты, необходимые для установки и эксплуатации сервиса.

LUNA SDK поставляется в дистрибутиве LUNA PASS. Дополнительная установка LUNA SDK не требуется.

Перед процессом установки поместите файлы дистрибутива в директорию на сервере. Например, в директорию /root. В данной директории не должно быть других файлов дистрибутива кроме целевых, используемых для установки конечного продукта. Далее указаны команды для операционной системы CentOS.

Выполните следующие действия.

1․ Переключитесь в режим суперпользователя root:

sudo su

2․ Создайте директорию для распаковки дистрибутива:

mkdir -p /var/lib/luna-pass

3․ Переместите дистрибутив в созданную директорию:

mv /root/luna-pass* /var/lib/luna-pass

4․ Установите архиватор unzip, если он не установлен:

yum install unzip

5․ Перейдите в директорию с дистрибутивом:

cd /var/lib/luna-pass

6․ Распакуйте файлы:

unzip luna-pass*.zip

7․ Создайте символьную ссылку. Вместо «X.Y.ZZ» укажите версию продукта. Ссылка указывает, что именно текущая версия дистрибутива используется для запуска:

ln -s luna-pass-X.Y.ZZ current

Если отсутствует ссылка /var/lib/luna-pass/current, скрипты запуска не смогут определить расположение бинарных файлов текущего релиза, а также будет невозможна дальнейшая установка.

Запуск LUNA PASS#

Перед запуском в docker необходимо внести актуальные данные и настройки в license.conf, lunapassvideo.config.toml, lunapassvideo.task.py, lunapassapi.config.toml и docker-compose.yml, предварительно сформировав эти файлы из примеров лежащих в поставке.

Режимы работы сетей в Docker#

Сетевая Docker подсистема подключается с помощью драйверов:

  • host — сетевой драйвер для автономных контейнеров. Удаляет сетевую изоляцию между контейнером и Docker хостом;
  • container:
  • bridge — сетевой драйвер по умолчанию. Используется, когда приложения запускаются в автономных контейнерах, которые должны взаимодействовать между собой.

Запуск LUNA PASS в режиме host#

1․ Перейдите в директорию Docker:

cd /var/lib/luna-pass/current/example-docker/host

Убедитесь, что в файле license.conf указаны корректные данные лицензии.

2․ Создайте файлы настроек используемых сервисов (например, из example-файлов, лежащих в каждом сервисе) для последующего монтирования в docker. Для запуска сервиса введите команду:

docker-compose up -d

3․ Проверьте статус всех запущенных Docker контейнеров.

docker-compose ps

Запуск LUNA PASS в режиме container#

1․ Перейдите в директорию Docker:

cd /var/lib/luna-pass/current/example-docker/container

Убедитесь, что в файле license.conf указаны корректные данные лицензии.

2․ Создайте файлы настроек используемых сервисов (напрмиер, из example-файлов, лежащих в каждом сервисе) для последующего монтирования в docker. Для запуска сервиса введите команду:

docker-compose up -d

3․ Проверьте статус всех запущенных Docker контейнеров.

docker-compose ps