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

Установка платформы TESSA в среде управления контейнерами Docker

Можно установить типовую версию платформы на локальном компьютере для использования в целях тестирования или для продуктовой эксплуатации без развёртывания системы в виртуальной машине. Для этого используется среда управления контейнерами Docker. В текущей инструкции рассматривается установка для ОС Windows, внутри которой будут запущены контейнеры Docker.

Note

Контейнеры Docker для приложения TESSA работают в заранее настроенной среде с использованием окружения ОС Alpine Linux. При этом система Docker может быть запущена не только на хост-машине ОС Windows, но и на macOS, и на любом дистрибутиве Linux, который поддерживается приложением Docker.

Note

Поскольку контейнер определяет только окружение ОС Linux, но не ядро операционной системы, и контейнер не является виртуальной машиной (а своего рода маппингом папок, областей памяти и системных вызовов), то при запуске Docker, например, на хост-машине под ОС Debian, контейнер также будет исполняться на ОС Debian, несмотря на то, что окружением, которое определено в контейнере, является ОС Alpine Linux. Данная инструкция не затрагивает установку Docker на хост-машинах macOS или Linux, и создание контейнеров приложения TESSA на ОС Linux, отличной от окружения Alpine Linux.

Warning

На текущий момент зафиксированы проблемы с использованием Docker Desktop на Windows 10 версии 20H1 (май 2020 г.), в которой в настройках Docker Desktop (Settings в контекстном меню на значке в системном трее) указан Use the WSL 2 based engine. Если при выполнении скрипта install.bat на этапе Checking connection to web service возникла ошибка, необходимо отключить этот флаг и после перезапуска Docker запустить скрипт повторно.

Установка с использованием Docker Desktop на ОС Windows

Необходимо скачать и установить Docker Desktop (на сайте потребуется зарегистрироваться, регистрация бесплатна): https://www.docker.com/products/docker-desktop

После установки необходимо перезагрузить устройство. При первом запуске Docker Desktop отобразится запрос на включение Hyper V, нужно подтвердить это действие.

Warning

После включения компонента Hyper V виртуальные машины VirtualBox и VMWare перестанут функционировать. Можно отключить Hyper V в настройках компонентов Windows (и перезагрузиться), чтобы виртуальные машины снова работали. Потом для работы Docker можно снова запустить Docker Desktop, который предложит включить Hyper V.

Установка с использованием сборки TESSA

Необходимо открыть папку со сборкой TESSA, в ней в папке Docker скопировать подпапку tessa на локальный диск, из которого будет запускаться и настраиваться установленная версия системы. При этом дополнительных файлов в этой папке создано не будет, поскольку контейнеры создаются и хранятся в локальном реестре Docker, который располагается в папках пользователя (подробная информация в инструкции Docker на сайте https://docs.docker.com/).

Tip

Имя установленной системы зависит от имени папки, в которую распаковано содержимое. Например, папка tessa создаёт и управляет системой с именем tessa. Поэтому, чтобы одновременно иметь несколько независимых установленных систем на компьютере, необходимо скопировать содержимое этой папки в папку с другим именем, расположенную рядом, и запускать скрипты из папок с разными именами.

Затем скопировать файл лицензии *.jlic или *.tlic в текущую папку с системой (папка tessa).

Следом запустить скрипт install.bat, нажав любую клавишу для начала установки, и дождаться её завершения.

Tip

По умолчанию система скачивает и устанавливает последнюю сборку платформы TESSA, опубликованную в репозитории Docker Hub. Перед установкой можно отредактировать файл docker-compose.yml, указав конкретные версии образов syntellect/tessa:*** (свойство image), добавив номер сборки и знак дефиса, например: syntellect/tessa:4.0.0-web. Версии для образов web, chronos, jinni, nginx и tadmin должны совпадать. По аналогии можно использовать теги syntellect/tessa:4.0-web для последней опубликованной сборки 4.0.x, syntellect/tessa:4-web для последней опубликованной сборки 4.x.x, и по аналогии для других версий системы и других образов.

Перед завершением скрипт выведет на экран порт такого вида:

0.0.0.0:32768

Адрес веб-сервиса на компьютере будет следующим (требуется указать порт, который вывел скрипт): https://localhost:32768

Повторно вывести порт можно, запустив скрипт start.bat.

Для использования web-клиента надо открыть эту ссылку в адресе веб-браузера, ввести логин admin и пароль admin для пользователя, созданного по умолчанию.

Для использования desktop-клиента следует установить Tessa Applications через msi-инсталлятор из сборки платформы в папке Setup (подпапка ru-RU для русскоязычной версии, в ней подпапка x64 для 64-битных ОС). В качестве адреса сервера указать ссылку выше, в качестве кода сервера задать docker. Логин admin, пароль admin (их можно указать на вкладке Серверы, чтобы не вводить каждый раз).

На этом установка системы завершена. Ниже приведена информация по управлению запущенными контейнерами и по дополнительным настройкам системы в контейнерах.

Управление запущенными контейнерами

Здесь приводится справочная информация по использованию скриптов в папке с приложением tessa, в т.ч. по запуску, остановке, удалению контейнеров и других.

  1. Для остановки без удаления данных (из базы данных и файловых хранилищ) можно вызвать скрипт stop.bat.
  2. Для повторного запуска необходимо вызвать start.bat, новый адрес порта будет отображён в консоли (или предыдущий адрес, если сервисы не останавливались).
  3. После перезагрузки контейнеры будут остановлены, для их запуска нужно вызвать start.bat после того, как на значке Docker в трее будет всплывающая подсказка Docker Desktop is running.
  4. Для остановки и удаления данных из контейнеров следует вызвать uninstall.bat.
  5. Для повторной установки “чистой” системы требуется вызвать install.bat. Предварительно вызывать uninstall.bat не нужно, данные предыдущей установки будут удалены, если присутствовали.
  6. Для полной очистки Docker и всех его кэшей: в меню на значке Docker в трее необходимо выбрать Settings, перейти на вкладку Reset и выбрать Reset to factory defaults. Затем дождаться завершения очистки и заново вызвать install.bat.
  7. Посредством скрипта tadmin.bat можно из командной строки выполнять действия с утилитой tadmin, для которой надлежит указать адрес подключения к сервисам https://nginx. Выполнение производится в контейнере утилиты, где доступны папки Configuration и Fixes из той версии сборки, которая была установлена. Пример:

    tadmin ImportCards "Configuration/Cards/Settings/License (settings).jcard" -c -a:https://nginx -u:admin -p:admin

Создание образов Docker с использованием дистрибутива TESSA alpine-redist

Можно создать собственные образы Docker, содержащие сборку TESSA требуемой версии без использования образов, опубликованных в Docker Hub.

Note

При работе с командами Docker рекомендуется использовать в качестве терминала cmd или PowerShell. Далее при описании используется PowerShell.

Необходимо создать папку на локальном диске (далее эта папка указана как С:\tessa) и распаковать в неё архив с дистрибутивом TESSA для Alpine Linux. Он называется tessa-alpine-4.0-0.7z, где 4.0 - версия релиза платформы, и 0 на конце - номер патча.

Также должен быть распакован архив с основной сборкой TESSA, именуемый как tessa-4.0-0.7z (где 4.0 - версия релиза платформы, и 0 на конце - номер патча) в любую папку (далее - C:\tessa-build).

Note

Для вашего релиза и патча архив будет называться соответствующим образом. Если у вас его нет, то запросите его получение у вендора.

Чтобы подготовить дистрибутив к работе, требуется:

  1. Скопировать в папку C:\tessa папку authorized_keys из папки [путь до основной сборки]\Docker\tessa\authorized_keys, т.е. должна быть создана папка C:\tessa\authorized_keys.
  2. Скопировать в папку C:\tessa\platform папку jinni из C:\tessa-build\linux, т.е. должна быть создана папка C:\tessa\platform\jinni.
  3. Скопировать в папку C:\tessa\docker папку jinni из C:\tessa-build\Docker, т.е. должна быть создана папка C:\tessa\docker\jinni.
  4. Скопировать в папку C:\tessa содержимое папки C:\tessa\docker\tessa-alpine с заменой файлов.
  5. Скопировать в папку C:\tessa содержимое папки C:\tessa\docker\tessa.
  6. Скопировать файл лицензии с расширением .jlic или .tlic в папку C:\tessa.

Итоговый дистрибутив должен выглядеть так:

Сборка Chronos

Необходимо перейти в папку C:\tessa\platform, скопировать туда файл с именем C:\tessa\docker\chronos\Dockerfile и убедиться, что:

  • в конфигурационном файле C:\tessa\platform\chronos\app-db.json в параметре Host указано имя контейнера db для СУБД PostgreSQL, а также указаны имя базы данных Database, логин User ID и пароль Password пользователя в соответствии с тем, что прописано в файле docker-compose.yml в блоке db:.

  • в конфигурационном файле C:\tessa\platform\chronos\app-ext.json в строке подключения к сервису Redis указана настройка "Redis": "redis", где значением является имя контейнера redis (в соответствии с docker-compose.yml, где он обозначен в блоке redis:).

  • в конфигурационном файле C:\tessa\platform\chronos\app-ext.json указана настройка "LicenseFile": "/var/lic/*.?lic", содержащая путь к файлам лицензии.

В терминале следует перейти в папку C:\tessa\platform и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:chronos .

Сборка nginx

Необходимо перейти в папку C:\tessa\nginx и скопировать туда файл с именем C:\tessa\docker\nginx\Dockerfile.

Затем открыть файл C:\tessa\nginx\default.conf.

  • Убедиться, что в начале этого файла указана строка:

    server web:5000;

    Если вместо web указан localhost, то необходимо заменить его на web.

  • Убедиться, что под этой строкой есть строка:

    server webbi:19857;

    Если вместо webbi:19857 указан localhost:19857, то заменить, как указано выше.

В терминале следует перейти в папку C:\tessa\nginx и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:nginx .

Сборка tadmin

Необходимо перейти в папку C:\tessa\build и скопировать туда файл с именем C:\tessa\docker\tadmin\Dockerfile.

  • Убедиться, что в конфигурационном файле утилиты tadmin, а именно C:\tessa\build\linux\tools\app-db.json, строка подключения к базе данных соответствует значениям в файле C:\tessa\platform\chronos\app-db.json (который настроен согласно docker-compose.yml):

  • Убедиться, что в конфигурационном файле C:\tessa\build\linux\tools\app-ext.json строка подключения к Redis соответствует таковой в файле C:\tessa\platform\chronos\app-ext.json (который настроен согласно docker-compose.yml):

В терминале следует перейти в папку C:\tessa\build и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:tadmin .

Сборка веб-сервиса web

Необходимо перейти в папку C:\tessa\platform и скопировать туда файл с именем C:\tessa\docker\web\Dockerfile.

  • Убедиться, что в конфигурационном файле веб-сервиса web, а именно C:\tessa\platform\web\app-db.json, строка подключения к базе данных соответствует значениям в файле C:\tessa\platform\chronos\app-db.json (который настроен согласно docker-compose.yml):

  • Убедиться, что в конфигурационном файле C:\tessa\platform\web\app-ext.json строка подключения к Redis соответствует таковой в файле C:\tessa\platform\chronos\app-ext.json (который настроен согласно docker-compose.yml):

В терминале следует перейти в папку C:\tessa\platform и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:web .

Сборка веб-сервиса webbi для поддержки режима технического обслуживания системы

Необходимо перейти в папку C:\tessa\platform и скопировать туда файл с именем C:\tessa\docker\webbi\Dockerfile.

  • Убедиться, что в конфигурационном файле C:\tessa\platform\webbi\app-ext.json строка подключения к Redis соответствует таковой в файле C:\tessa\platform\chronos\app-ext.json (который настроен согласно docker-compose.yml).
  • Убедиться, что в конфигурационном файле C:\tessa\platform\webbi\app-ext.json команда перезапуска nginx указана как пустая строка: "ReloadCommand": "".

В терминале следует перейти в папку C:\tessa\platform и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:webbi .

Сборка веб-сервиса jinni для работы с документами

Необходимо перейти в папку C:\tessa\platform и скопировать туда файл с именем C:\tessa\docker\jinni\Dockerfile.

Tip

При необходимости можно настроить конфигурацию сервиса jinni, ограничив ему набор используемых функций (например, выключить поддержку распознавания OCR). Для этого требуется выполнить python скрипт по инструкции в ссылке, и скопировать заново файл C:\tessa\docker\jinni\Dockerfile в C:\tessa\platform.

  • Убедиться, что в конфигурационном файле сервиса jinni, а именно C:\tessa\platform\jinni\app-ext.json, строка подключения к Redis соответствует таковой в файле C:\tessa\platform\chronos\app-ext.json (который настроен согласно docker-compose.yml).

В терминале следует перейти в папку C:\tessa\platform и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:jinni .


Если требуется использовать несколько копий контейнера jinni для распределения нагрузки и отказоустойчивости, то можно модифицировать файл docker-compose.yml, задав уникальное имя каждому контейнеру (jinni1, jinni2 и т.п.) и указав уникальные публичные адреса (endpoints) для доступа к сервисам jinni:

jinni1: image: syntellect/tessa:jinni depends_on: redis: condition: service_healthy volumes: - jinni1:/root/platform/jinni - lic:/var/lic environment: - JINNI_ENDPOINT=http://jinni1:5000 jinni2: image: syntellect/tessa:jinni depends_on: redis: condition: service_healthy volumes: - jinni2:/root/platform/jinni - lic:/var/lic environment: - JINNI_ENDPOINT=http://jinni2:5000

Сборка веб-сервиса monitor для трассировки и мониторинга системы

Необходимо перейти в папку C:\tessa\platform и скопировать туда файл с именем C:\tessa\docker\monitor\Dockerfile.

В терминале следует перейти в папку C:\tessa\platform и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:monitor .

Сборка веб-сервиса prometheus для хранения данных мониторинга системы

Необходимо перейти в папку C:\tessa\prometheus и скопировать туда файл с именем C:\tessa\docker\prometheus\Dockerfile.

В терминале следует перейти в папку C:\tessa\prometheus и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:prometheus .

Сборка веб-сервиса grafana для отображения графиков по данным мониторинга системы

Необходимо перейти в папку C:\tessa\grafana и скопировать туда файл с именем C:\tessa\docker\grafana\Dockerfile.

В терминале следует перейти в папку C:\tessa\grafana и выполнить команду для сборки образа контейнера (container image) по скопированному ранее файлу Dockerfile:

docker build -t syntellect/tessa:grafana .

Сборка веб-сервиса jaeger для отображения данных трассировки системы

В терминале следует перейти в папку C:\tessa\docker\jaeger и выполнить команду для сборки образа контейнера (container image) по расположенному там файлу Dockerfile:

docker build -t syntellect/tessa:jaeger .

Установка и запуск контейнеров

В терминале следует перейти в папку C:\tessa и выполнить команду для сборки приложения Docker Compose (компонент Docker для создания приложений - связанных контейнеров) с учётом расположенного в этой папке файла с лицензией (.jlic или .tlic).

docker-compose -f docker-compose.yml build --no-cache

Note

Имя приложения Docker Compose определяется в соответствии с именем папки, в которой расположен файл docker-compose.yml, т.е. для папки C:\tessa указано имя tessa.

Чтобы переименовать приложение, надо переименовать папку C:\tessa. Важно только имя вышестоящей папки, т.е., например, она может быть расположена по пути C:\Docker\tessa.

Создать контейнеры можно при помощи команды в терминале:

docker-compose -f docker-compose.yml up --no-start

Docker самостоятельно соберёт недостающие контейнеры с СУБД PostgreSQL и Redis внутри приложения Docker Compose, и на их основе создаст необходимые контейнеры.

Запустить контейнеры в приложении Docker Compose можно при помощи команды в терминале:

docker-compose -f docker-compose.yml start db web nginx tadmin redis webbi

Warning

Контейнер lic не требуется запускать. Контейнеры chronos, jinni, monitor, prometheus, grafana и jaeger будут запущены позже.

Если установка прошла успешно, контейнеры в Docker Desktop должны выглядеть так:

Tip

Возможно создать новый экземпляр системы, в которой будут другие данные (СУБД PostgreSQL с отдельной базой данных, Redis, файловое хранилище) и может быть другая лицензия, но используются копии контейнеров с бинарными данными (та же версия платформы и расширения).

Для этого требуется создать папку с другим именем (например, C:\tessa2), в которую надо скопировать только файл лицензии (.jlic или .tlic), Dockerfile и docker-compose.yml из папки C:\tessa. После чего перейти в терминале в эту папку и повторить вызовы docker-compose, указанные в этом подразделе, и далее установить систему.

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

Проверка работы контейнеров и завершение установки TESSA

Необходимо проверить подключение утилиты tadmin к базе данных (все команды должны быть выполнены в терминале в папке C:\tessa с файлом docker-compose.yml):

docker-compose -f docker-compose.yml exec tadmin linux/tools/tadmin CheckDatabase

Если связь с базой данных прошла без ошибок, в терминале будет результат:

Чтобы установить систему TESSA скриптом setup.sh необходимо выполнить в терминале следующую команду:

docker-compose -f docker-compose.yml exec tadmin linux/setup.sh -db:tessa -cdb -a:https://nginx -tp:/root/build/linux/tools -f:/root/platform/files -wp:/root/platform/web -cp:/root/platform/chronos

  • Адрес веб-сервиса указывается как https://nginx (где nginx - имя контейнера в docker-compose.yml).
  • Имя базы данных должно быть таким же, какое указано в файлах app-db.json в подразделах выше (в соответствии с указанным именем БД в docker-compose.yml).
  • Остальные строки можно оставить по умолчанию для данной установки системы.

При успешной установке в терминале будет выведена строка:

Необходимо перезапустить контейнер веб-сервиса web, выполнив в терминале:

docker-compose -f docker-compose.yml restart web

Запустить Сhronos, веб-сервис jinni, а также сервисы monitor, prometheus, grafana и jaeger, можно, выполнив в терминале:

docker-compose -f docker-compose.yml start chronos jinni monitor prometheus grafana jaeger

Установка завершена. Веб-клиент платформы TESSA, установленный в Docker, будет доступен по адресу https://localhost:номер_порта. Чтобы узнать номер порта, следует выполнить следующую команду в терминале:

docker-compose -f docker-compose.yml port nginx 443

Результат выполнения этой команды:

Экземпляр prometheus (для отображения телеметрии в исходном виде, которая передаётся в grafana) будет доступен по адресу http://localhost:номер_порта. Чтобы узнать номер порта, можно выполнить следующую команду в терминале:

docker-compose -f docker-compose.yml port prometheus 9090

Экземпляр grafana (для вывода счётчиков производительности) будет доступен по адресу http://localhost:номер_порта. Чтобы узнать номер порта, можно выполнить следующую команду в терминале:

docker-compose -f docker-compose.yml port grafana 3000

Экземпляр jaeger (для отображения трассировки расширений) будет доступен по адресу http://localhost:номер_порта. Чтобы узнать номер порта, можно выполнить следующую команду в терминале:

docker-compose -f docker-compose.yml port jaeger 16686

Настройка логирования и обновление расширений

Для удобства просмотра логов log.txt и обновления библиотек серверных расширений extensions можно создать связи для папок в контейнерах и папок в Windows, вложенных в локальную папку с файлом docker-compose.yml, из которой выполнялась установка системы в Docker.

Сначала требуется определить имена контейнеров и убедиться, что они функционируют. Для этого необходимо открыть командную строку Windows в папке с файлом docker-compose.yml. Здесь подразумевается, что установка системы в Docker уже была выполнена. Затем определить имена запущенных контейнеров:

docker ps -a

Tip

Ключ -a выводит помимо запущенных контейнеров также созданные контейнеры, которые не запущены в настоящий момент. Можно опустить этот ключ, если надо отобразить только запущенные контейнеры.

По умолчанию имя контейнера для веб-сервиса называется tessa_web_1, где tessa - имя папки с файлом docker-compose.yml (обычно её имя изменяют для второй установки системы в Docker на том же сервере), web - имя контейнера с веб-сервисом, указанное внутри файла docker-compose.yml, 1 - номер экземпляра контейнера, по умолчанию все контейнеры запускаются в единственном экземпляре.

Аналогично имя контейнера для сервиса Chronos называется tessa_chronos_1 и для веб-сервиса jinni называется tessa_jinni_1. Если используются другие названия, то необходимо указать их в скриптах ниже.

Теперь необходимо запустить контейнеры, если они не запущены (скрипт start.bat) и проверить, что корректно выполняется открытие консольной оболочки ash (аналог bash для дистрибутива Alpine Linux). В следующем примере открывается консоль для контейнера tessa_web_1, далее в нём выводится список файлов в папке веб-сервиса ls, и консоль закрывается exit:

docker exec -it tessa_web_1 ash

ls

exit

Аналогичную проверку выполнить для сервиса Chronos в контейнере tessa_chronos_1 и веб-сервиса jinni в контейнере tessa_jinni_1.

Необходимо открыть командную строку Windows в папке с файлом docker-compose.yml.

Скопировать папку с серверными расширениями из контейнера с веб-сервисом следующей командой. При этом в текущей папке будет создана подпапка extensions с библиотеками расширений и файлом extensions.xml. В контейнере Chronos эта папка полностью идентична, поэтому достаточно скопировать из веб-сервиса.

docker cp tessa_web_1:/root/platform/web/extensions .

Note

При обратном копировании командой docker cp, когда файлы были скопированы из папки Windows в контейнер, такие файлы будут сохранены только до следующего запуска контейнера (скрипт start.bat или команда docker-compose up). Если есть потребность в копировании некоторых файлов настроек при каждом запуске контейнера, то следует доработать скрипт start.bat по своему усмотрению и запускать его каждый раз после запуска сервера.

Далее следует скопировать файлы NLog.config из контейнеров веб-сервиса, сервиса Chronos и веб-сервиса Jinni в подпапки logs_chronos, logs_web и logs_jinni, предварительно их необходимо создать командой mkdir:

mkdir logs_chronos logs_web logs_jinni

docker cp tessa_chronos_1:/root/platform/chronos/logs/NLog.config ./logs_chronos

docker cp tessa_web_1:/root/platform/web/logs/NLog.config ./logs_web

docker cp tessa_jinni_1:/root/platform/jinni/logs/NLog.config ./logs_jinni

В файле NLog.config, который появится в подпапках logs_chronos, logs_web и logs_jinni, можно настроить логирование по своим правилам. Например, чтобы логируемые сообщения записывались в отдельные файлы каждый день с созданием подпапок с номером месяца и года. Подробная информация по настройкам NLog.config доступна в документации по библиотеке NLog: https://github.com/NLog/NLog/wiki/Configuration-file

Для создания связи между локальной папкой в Windows и папками в контейнере потребуется отредактировать файл docker-compose.yml, в который добавить в разделы volumes соответствующих контейнеров строку следующего вида (не добавлять её, это пример):

volumes: - ./ПАПКА_В_Windows:/root/platform/ПАПКА_В_КОНТЕЙНЕРЕ

Где /root/platform - путь к домашней папке в контейнерах приложения TESSA.

Warning

После настройки связи каждый раз, когда контейнер будет запущен (скрипт start.bat или команда docker-compose up), содержимое соответствующей папки в контейнере будет очищено. После этого выполняется копирование всех файлов и подпапок из папки в Windows в папку в контейнере. Далее при изменении этой папки в контейнере она изменяется в Windows и в любых других контейнерах, связанных с той же папкой в Windows. Также, если прозводятся изменения папки в Windows, то она автоматически изменяется во всех связанных контейнерах, т.е. связь двусторонняя.

Теперь следует отредактировать docker-compose.yml, добавив связи для папок с логами в текущей папке с файлом docker-compose.yml.

  1. Папка extensions содержит расширения, одинаковые для веб-сервиса и Chronos.
  2. Папка logs_web будет содержать логи веб-сервиса, по умолчанию это файл log.txt.
  3. Папка logs_chronos будет содержать логи Chronos, по умолчанию это файл log.txt.
  4. Папка logs_jinni будет содержать логи веб-сервиса Jinni, по умолчанию это файл log.txt.

Троеточием обозначены пропущенные строки, которые будут перед строками связей, которые требуется добавить (строка связи начинается со знака дефиса):

web: ... volumes: ... - ./extensions:/root/platform/web/extensions - ./logs_web:/root/platform/web/logs

...

chronos: ... volumes: ... - ./extensions:/root/platform/chronos/extensions - ./logs_chronos:/root/platform/chronos/logs

...

jinni: ... volumes: ... - ./logs_jinni:/root/platform/jinni/logs

Для применения изменений необходимо остановить контейнеры скриптом stop.bat и снова запустить их скриптом start.bat.

Note

Первый раз при запуске контейнера с привязанными папками может отобразиться предупреждение вида Share disk C:\ with container?, его необходимо подтвердить, при этом потребуется ввести пароль администратора Windows. Если после этого появится ошибка в окне консоли вида Drive sharing seems blocked by a firewall, то следует настроить правила firewall в соответствии с инструкцией: https://docs.docker.com/docker-for-windows/#firewall-rules-for-shared-drives (обычно требуется отключить блокировку входящих соединений TCP по порту 445). После настройки повторить команду запуска контейнеров.

Tip

Также можно разрешить общий доступ из контейнера к дискам Windows, открыв окно Settings в контекстном меню Docker Desktop в трее, выбрав нужную букву диска на вкладке Shared Drives и нажав Apply. Если не настроен firewall, и он блокирует порты, то появится предупреждение. Docker гарантирует, что контейнер получает доступ к указанным подпапкам Windows, в соответствии с настроенной связью в docker-compose.yml, но разрешить доступ требуется для диска C:\ (или другого диска, где расположен docker-compose.yml).

Когда необходимо изменить файлы конфигурации или обновить расширения, и приложение TESSA уже работает в контейнерах Docker, то для применения изменений потребуется остановить stop.bat и снова запустить приложение start.bat. Можно дорабатывать эти скрипты по своим требованиям.

Back to top