Установка рабочего процесса

Для установки рабочего процесса в Docker нужно:

  • задать параметры контейнера;

  • выполнить скрипт, который создаст контейнер на основе образа;

  • запустить контейнер.

Задание параметров контейнера

Для того чтобы задать параметры контейнера, нужно открыть конфигурационный файл ContainerConfiguration.json в текстовом редакторе:

nano ~/Загрузки/TerraLink.xDEPro/Printforms.Worker/ContainerConfiguration.json

Параметры контейнера приведены ниже:

{
    "Appsettings": {    // содержимое файла конфигурации appsettings.json
        // ...
    }
}

В поле Appsettings передается содержимое конфигурационного файла рабочего процесса. Здесь нужно настроить подключение рабочего процесса к базе данных.

Для этого следует найти поле ConnectionString и задать имя пользователя и пароль назначенной учетной записи:

{
    "ProviderName": "Npgsql",
    "ConnectionString": "User ID=xde;Password=1234aA;Host=192.168.11.128;Port=5432;Database=PRINTFORMS_DB;MaxPoolSize=500"
}

Примечание

В примере установки используется PostgreSQL, установленный локально. По умолчанию контейнер не может обращаться к Docker-хосту, используя имя localhost или IP-адрес 127.0.0.1. Здесь используется пример внешнего IP-адреса Docker-хоста.

Затем нужно сохранить файл ContainerConfiguration.json (Ctrl+O) и выйти из редактора (Ctrl+X).

Примечание

Если планируется использовать PostgreSQL, установленный на другой машине, то в строке подключения нужно указать имя хоста (либо IP-адрес) и порт установленного экземпляра PostgreSQL.

Создание и запуск контейнера

Для создания контейнера нужно перейти в папку с образом:

cd ~/Загрузки/TerraLink.xDEPro/Printforms.Worker

и с помощью Powershell Core выполнить скрипт CreateDockerContainer.ps1:

rootlessenv pwsh ./CreateDockerContainer.ps1

В результате будет создан контейнер с именем xde-printforms-worker-container.

В терминал также будет выведен идентификатор контейнера. Он понадобится для запуска.

Примечание

Определить идентификатор контейнера можно, выполнив команду:

rootlessenv docker container ls -a

Команда выведет в терминал список контейнеров с их именами и идентификаторами.

Теперь следует запустить контейнер:

rootlessenv docker container start container_id

где container_id - идентификатор созданного контейнера, полученный на предыдущем шаге.

Далее нужно вернуться в домашнюю папку:

cd ~

Лог-файлы

Вместе с контейнером в Docker создается том для хранения лог-файлов.
Имя тома: xde-printforms-worker-logs.

Для получения пути к тому в файловой системе Docker-хоста нужно выполнить команду:

rootlessenv docker volume inspect xde-printforms-worker-logs

Поле Mountpoint будет указывать на путь к папке с лог-файлами в файловой системе Docker-хоста.

Примечание

Содержимое тома доступно только с правами суперпользователя.

Проверка доступности рабочего процесса

Рабочий процесс не имеет собственного веб-интерфейса. При этом можно проверить статус контейнера:

rootlessenv docker container stats container_id

где container_id - идентификатор контейнера рабочего процесса.