Установка Pilot-Server в docker-контейнере
Для запуска docker-контейнеров необходим Docker Engine. Установите продукт согласно рекомендациям для вашей операционной системы. Для установки Docker Engine на компьютер без доступа к сети интернет следуйте инструкции по установке из исполняемых файлов. |
В консоли введите команду загрузки образа контейнера pilot-server:
# docker pull pilotdev/pilot-server:latest
Тэг latest соответствует последней бета-версии. Также можно использовать тэг release или указывать необходимую версию. Например pilotdev/pilot-server:24.31.0 |
После выполнения команды запустите контейнер pilot-server, добавьте учётную запись администратора сервера и перезапустите контейнер:
# 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 и заменять его новым в этом случае не нужно.
На 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.
Особенности установки контейнера с Pilot-Server на компьютер без доступа к сети интернет
Для того, чтобы установить контейнер на компьютер без доступа к сети интернет, необходимо получить его образ на компьютере, имеющим выход в интернет.
Это делается командой:
# docker pull pilotdev/pilot-server:latest
Тэг latest соответствует последней бета-версии. Также можно использовать тэг release или указывать необходимую версию. Например pilotdev/pilot-server:24.31.0 |
После этого сохраните полученный образ в архив с помощью команды:
# docker save pilotdev/pilot-server:latest -o archive-name.tar
Где archive-name — имя архива, которое вы задаёте.
Удалить ненужный образ можно командой: # docker image rm pilotdev/pilot-server:latest |
Созданный архив необходимо записать на любой удобный носитель, например, флеш-накопитель и перенести на компьютер, где требуется установка. Для загрузки образа из архива воспользуйтесь командой:
# docker load -i archive-name.tar
После этого установите контейнер согласно инструкции выше.