Установка Pilot-Server в docker-контейнере
Для запуска docker-контейнеров необходим Docker Engine. Установите продукт согласно рекомендациям для вашей операционной системы. |
В консоли введите команды загрузки и запуска контейнера pilot-server. После выполнения команды запустите скрипт установки и перезапустите контейнер:
# docker pull pilotdev/pilot-server:latest
# docker run -d -p port:5545 --name pilot-server -v path:/mnt/vol1 pilotdev/pilot-server:latest
# docker exec -ti pilot-server dotnet ./Ascon.Pilot.Daemon.dll --admin ./settings.xml имя_администратора_сервера пароль_администратора_сервера
# docker restart pilot-server
Где:
port — порт, на котором будет работать контейнер с Pilot-Server. Например, 5546:5545 означает, что порт 5545, на котором Pilot-Server работает внутри контейнера будет проброшен на 5546. Для работы с сервером клиенты будут подключаться к порту 5546;
path — путь к папке на хосте, которая будет смонтирована в контейнер как том. Используйте том для хранения баз данных. Загрузите базу данных в path/Databases на хосте, при подключении её можно будет найти в /mnt/vol1/Databases.
имя_администратора_сервера, пароль_администратора_сервера — придумайте имя и пароль для администратора сервера.
Для обновления Pilot-Server, установленного в контейнере, и подключенных к нему клиентских приложений можно воспользоваться автоматическим обновлением с помощью Pilot-myAdmin. Удалять контейнер Pilot-Server и заменять его новым в этом случае не нужно.
Тэг latest соответствует последней бета-версии. Также можно использовать тэг release или указывать необходимую версию. Например pilotdev/pilot-server:23.44.0 |
|
На Linux удобно использовать $HOME/ascon в качестве path. |
Автоматический запуск контейнеров после перезагрузки компьютера или падения можно включить параметром --restart unless-stopped, добавленным в строку с командой docker run. Например: docker run --restart unless-stopped -d -p... |
Организация доступа к файлам внутри контейнера
В ряде случаев может потребоваться сохранить некоторые данные из контейнера на хостовой машине. Например, это может быть папка, содержащая log-файлы сервера. В этом случае команда запуска контейнера с Pilot-Server должна выглядеть следующим образом:
docker run -d -p port:5545 --name pilot-server -v db_path:/mnt/vol1 -v logs_path:/App/logs pilotdev/pilot-server:latest
db_path — путь к папке на хосте, которая будет смонтирована в контейнер в /mnt/vol1. Используется для хранения баз данных.
logs_path — путь к папке на хосте, которая будет смонтирована в контейнер в /App/logs. Используется для хранения логов.
Пример установки Pilot-Server в docker-контейнере
- Убедитесь, что на вашей операционной системе установлен Docker Engine.
- Определите сетевой адрес компьютера, на котором будет запущен Pilot-Server, с помощью консольной команды ifconfig на Linux или ipconfig на Windows.
- Загрузите контейнер с Pilot-Server:
- Запустите контейнер:
- Добавьте администратора сервера и перезапустите контейнер:
- Проверьте, что сервер работает:
- Скачайте демонстрационные базы.
- Подключите демонстрационную базу с помощью Pilot-myAdmin. База будет расположена в /mnt/vol1/Databases.
- Убедитесь, что Pilot-ICE (или другая редакция) подключается и работает с этой базой.
Из вывода нужно взять IPv4-адрес:
DNS-суффикс подключения . . . . . :
Локальный IPv6-адрес канала . . . : fe80::2c6d:d271:5bed:2649%5
IPv4-адрес. . . . . . . . . . . . : 192.168.56.1
# docker pull pilotdev/pilot-server:latest
На Linux:
# docker run -d -p 5546:5545 --name pilot-server -v $HOME/ascon/pilot-server:/mnt/vol1 pilotdev/pilot-server:latest
На Windows:
# docker run -d -p 5546:5545 --name pilot-server -v C:/Ascon-Docker:/mnt/vol1 pilotdev/pilot-server:latest
# docker exec -ti pilot-server dotnet ./Ascon.Pilot.Daemon.dll --admin ./settings.xml admin admin_password
# docker restart pilot-server
$ curl http://192.168.56.1:5546
Выводом команды будет версия Pilot-Server.
На Linux:
$ cd $HOME/ascon/pilot-server/
# wget https://pilot.ascon.ru/release/Databases.zip
# unzip Databases.zip
На Windows скачайте и распакуйте демонстрационные базы в C:/Ascon-Docker/Databases.