4.5. Руководство по инсталляции фронтенда¶
4.5.1. Назначение и общий функционал работы с фронтендом¶
- Фронтенд (англ. frontend)
- Является клиентской стороной пользовательского интерфейса к программно-аппаратной части сервиса.
- Бэкенд (англ. backend)
- Представляет собой программно-аппаратную часть сервиса, набор средств, с помощью которых происходит реализация логики веб-сайта. Бэкенд для предоставления своих функций реализует API, которые использует фронтенд.
Фронт- и бэкенд — это вариант архитектуры программного обеспечения.
4.5.2. Установка фронтенда¶
Примечание
Можно установить и настроить несколько экземпляров фронтенда. Это требуется, например, для балансировки нагрузки на сервер и формирования отказоустойчивой Системы. Все экземпляры фронтенда устанавливаются аналогично.
Для установки фронтенда сначала необходимо установить Docker.
Подробнее об установке и настройке Docker можно посмотреть здесь: https://docs.docker.com/get-started/.
Если реестр Docker, содержащий образ фронтенда, недоступен или отсутствует, тогда необходимо скачать образ фронтенда из архивного файла, выполнив в командной строке команду:
docker load -i /path/to/image.tar.gz
Здесь:
- /path/to/image.tar.gz
- Пример пути к архиву с образом фронтенда.
Если реестр Docker, содержащий образ фронтенда, доступен, тогда для установки фронтенда нужно войти в реестр Docker, выполнив в командной строке команду:
docker login registry.igtel.ru:6443
При входе необходимо ввести логин и пароль.
После этого нужно скачать образ фронтенда из Docker, выполнив в командной строке команду:
docker pull registry.igtel.ru:6443/sgate/ui:develop
После того как образ скачан (из архивного файла или из реестра Docker), необходимо запустить контейнер, выполнив в командной строке команду в многострочном формате (после символа
\
должен быть перенос строки без пробелов и других символов):
docker run -d \
-p 3000:3000 --name=sgate_ui \
--env "BACKEND_HOST=backend.example.ru" \
--env "BACKEND_PORT=8081" \
registry.igtel.ru:6443/sgate/ui:develop
Здесь:
- -p 3000:3000
- Указывается, какой порт на сервере (в примере это порт 3000) маппится на порт в контейнере (в контейнере всегда используется порт 3000).
- name
- Указывается название контейнера для использования его при обращении (вместо идентификатора). В примере это «sgate_ui».
- BACKEND_HOST
- Хост бэкенда в контейнере.
- BACKEND_PORT
- Порт бэкенда в контейнере.