Установка серверных компонентов из docker-контейнеров

Оперативно поднять серверные компоненты системы Pilot можно с помощью готовых контейнеров Docker. Решение является кроссплатформенным, поэтому контейнеры будут работать на любой ОС, где установлен Docker Engine.

Из docker-контейнеров могут быть установлены:

При запуске контейнеров с серверными компонентами Pilot-BIM-Server, Pilot-Web-Client или Pilot-TextSearch-Server необходимо указывать сетевой адрес машины, на которой установлен Pilot-Server.

Не используйте адрес вида localhost, если контейнеры запускаются на одном хосте, т.к. в этом случае серверные компоненты будут обращаться к localhost своих контейнеров и подключения к Pilot-Server не произойдёт.

Сетевой адрес можно определить с помощью консольной команды ifconfig на Linux или ipconfig на Windows.

Вы также можете воспользоваться страницей Пример установки серверных компонентов Pilot из docker-контейнеров

Установка Docker

Для запуска docker-контейнеров необходим Docker Engine. Установите продукт согласно рекомендациям для Вашей операционной системы.

Для установки на Windows загрузите с официального сайта docker.com дистрибутив и запустите его.

Для установки на Linux перейдите по ссылке и выберите дистрибутив, затем установите Docker согласно специфичным для дистрибутива инструкциям. Например, руководство по установке для Ubuntu Linux находится здесь.

Установка Pilot-Server

В консоли введите команду запуска контейнера pilot-server. Контейнер будет загружен из репозитория автоматически. После выполнения команды запустите скрипт установки и перезапустите контейнер:

# docker pull pilotdev/pilot-server:latest

# docker run -d -p port:5545 --name pilot-server -v path:/mnt/vol1 pilotdev/pilot-server

# docker exec -ti pilot-server /bin/sh setup.sh

# docker restart pilot-server

Где:

port — порт, на котором будет работать контейнер с Pilot-Server. Например, 5546:5545 означает, что порт 5545, на котором Pilot-Server работает внутри контейнера будет проброшен на 5546. Для работы с сервером клиенты будут подключаться к порту 5546;

path — путь к папке на хосте, которая будет смонтирована в контейнер как том. Используйте том для хранения баз данных. Загрузите базу данных в path/Databases на хосте, при подключении её можно будет найти в /mnt/vol1/Databases.

Тэг latest соответствует последней бета-версии. Также можно использовать тэг release или указывать необходимую версию. Например pilotdev/pilot-server:22.16.0

Для подключения к серверу в Pilot-myAdmin используйте логин root и пароль whale.

На Linux удобно использовать $HOME/.ascon в качестве path.

Автоматический запуск контейнеров после перезагрузки компьютера или падения можно включить параметром --restart unless-stopped, добавленным в строку с командой docker run. Например: docker run --restart unless-stopped -d -p...

Установка Pilot-BIM-Server

Запустите контейнер Pilot-BIM-Server в интерактивном режиме:

# docker pull pilotdev/pilot-bim-server:latest

# docker run -it --name pilot-bim-server pilotdev/pilot-bim-server

Введите команду для подключения к серверу:

# docker exec -ti pilot-bim-server dotnet pBimAdmin.dll -c adress:port/database_name

Где:

adress:port/database — адрес базы данных, к которой будет подключаться Pilot-BIM-Server;

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

# docker start pilot-bim-server

Любые команды pbimadmin для Pilot-BIM-Server, работающем в контейнере, можно выполнять, c помощью команды exec, например:

# docker exec -ti pilot-bim-server dotnet pBimAdmin.dll -z on

Установка Pilot-Web-Client

Действия по установке производятся в командной строке.

# docker pull pilotdev/pilot-web-client:latest

# docker run -d -p port:80 -e SERVER=adress:port -e DATABASE=database_name --name pilot-web pilotdev/pilot-web-client

# docker exec -ti pilot-web /bin/sh setup.sh

# docker restart pilot-web

Где:

port — порт, на котором будет работать контейнер с Pilot-Web-Client;

adress:port — адрес/порт, по которому выполняется подключение к Pilot-Server;

database_name — имя базы данных, к которой будет подключён Pilot-Web-Client.

Установка Pilot-TextSearch-Server

Действия по установке производятся в командной строке.

# docker pull pilotdev/pilot-textsearch-server:latest

# docker run -d -p port:9095 -e DBADRESS=adress:port/database_name -e LOGIN=admin_name -e PASSWORD=password --name pilot-textsearch pilotdev/pilot-textsearch-server

# docker exec -ti pilot-textsearch /bin/sh setup.sh

Где:

port — порт, на котором будет работать контейнер с Pilot-TextSearch-Server;

adress:port/database_name — адрес базы данных, к которой будет подключаться Pilot-TextSearch-Server;

admin_name, password — логин и пароль администратора базы данных, от имени которого будет произведено подключение.

В любой момент можно запустить индексирование базы данных:

# docker exec -ti pilot-textsearch /bin/sh index.sh

Проверить статус индексирования можно командой:

# docker exec -ti pilot-textsearch /bin/sh inspect.sh