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

Установка платформы 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. Если вы также наблюдаете ошибку при установке на этапе Checking connection to web service при выполнении скрипта install.bat, то отключите этот флаг, Docker перезапустится, и запустите скрипт повторно.

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

Скачайте и установите Docker Desktop (на сайте потребуется зарегистрироваться, регистрация бесплатна): https://www.docker.com/products/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