Установка Pilot-Web-Server в docker-контейнере

Pilot-Web-Server — веб-сервер, предоставляющий доступ к возможностям клиентских приложений линейки продуктов Pilot из браузера.

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

Для установки Docker Engine на компьютер без доступа к сети интернет следуйте инструкции по установке из исполняемых файлов.

Действия по установке производятся в командной строке. Загрузите образ контейнера pilot-web-server:

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

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

После выполнения команды запустите контейнер pilot-web-server и подключите его к Pilot-Server и базе данных:

# docker run -d -p port:80 -e PilotServer:Url=adress:port -e PilotServer:Database=database_name --name pilot-web-server pilotdev/pilot-web-server:latest

Где:

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

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

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

Добавив параметр -e AuthSettings:AuthenticationMode=Oidc в строку запуска контейнера Pilot-WEb-Server можно ограничить способ аутентификации пользователей. Подробнее здесь.

Пример установки Pilot-Web-Server в docker-контейнере

  1. Определите сетевой адрес компьютера, на котором запущен Pilot-Server, с помощью консольной команды ifconfig на Linux или ipconfig на Windows.

    Из вывода нужно взять IPv4-адрес:

    Адаптер Ethernet Ethernet 2:
    DNS-суффикс подключения . . . . . :
    Локальный IPv6-адрес канала . . . : fe80::2c6d:d271:5bed:2649%5
    IPv4-адрес. . . . . . . . . . . . : 192.168.1.88
  2. Также необходимо знать порт, на котором был запущен Pilot-Server, например 5546.

  3. Загрузите и запустите контейнер Pilot-Web-Server с параметрами подключения к демонстрационной базе данных pilot-bim_ru:

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

    # docker run -d -p 5560:80 -e PilotServer:Url=http://192.168.1.88:5546 -e PilotServer:Database=pilot-bim_ru --name pilot-web-server pilotdev/pilot-web-server:latest

  4. Адресом подключения к Pilot-Web-Server в браузере будет строка, состоящая из  адреса машины, на которой запущен контейнер с Pilot-Web-Server, и порта, который был указан при запуске контейнера. Например, http://192.168.1.88:5560.

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

В случае, если используется проксирующий сервер, убедитесь, что разрешено подключение с использованием протокола WebSocket. Например, для смены протокола на WebSocket в nginx вы можете воспользоваться документацией и примером.

Особенности установки контейнера с Pilot-Web-Server на компьютер без доступа к сети интернет

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

Это делается командой:

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

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

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

# docker save pilotdev/pilot-web-server:latest -o archive-name.tar

Где archive-name — имя архива, которое вы задаёте.

Удалить ненужный образ можно командой:

# docker image rm pilotdev/pilot-web-server:latest

Созданный архив необходимо записать на любой удобный носитель, например, флеш-накопитель и перенести на компьютер, где требуется установка. Для загрузки образа из архива воспользуйтесь командой:

# docker load -i archive-name.tar

После этого установите контейнер, согласно инструкции выше.