[Open source, IT-инфраструктура] TangoRestServer обновление

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Апр-2021 22:31

Содержание
  • Установка из репозитория
  • Установка из исходников

Здесь будет описана работа с Linux (TangoBox 9.3 на основе Ubuntu 18.04).
Установка из репозитория
Получаем последнюю версию docker-а из репозитория и запускаем его.
docker pull tangocs/rest-server:rest-server-2.1
docker run --restart unless-stopped -p 8080:8080 -d tangocs/rest-server:rest-server-2.1

Смотрим результат выполнения. В список контейнеров добавился tangocs/rest-server.

Список запущенных контейнеров пополнил tangocs/rest-server:rest-server-2.1.

Проверка работоспособности:

Важный акцент, в системе TangoBox 9.3 изначально работает старый RestServer. Работает он не в docker-е, а в самой системе!

Проверка его работы:

Работает на 10001 порту, и поскольку он работает в системе, то обратится может к Tango Controls как к localhost, чего не сможет docker.
http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/tg_test/1/attributes/double_scalar/value

Так же его API устарело.
docker работает на 8080 порту, и его порт проброшен в систему. Но обращаться к Tango Controls он должен по ip адресу системы 172.17.0.1 где тот работает!
http://localhost:8080/tango/rest/v10/hosts/172.17.0.1;port=10000/devices/sys/tg_test/1/attributes/double_scalar/value

Репозиторий содержит не последнюю версию. Установить последнюю версию можно из исходников, на текущий момент 2.2.
Установка из исходников
Последняя версия TangoRestServer.
git clone https://github.com/tango-controls/rest-server.git
cd rest-server

Собирается docker под java версии 11, но все в системе работает под 8-ой версий.
Временно поменяем версию по умолчанию с 8 на 11.
sudo update-alternatives --config java


mvn package
docker build -t tangocs/rest-server:rest-server-2.2 .

Получил следующую ошибку:
COPY failed: file not found in build context or excluded by .dockerignore: stat target/.war: file does not exist
Открываем Dockerfile и меняем
COPY target/${REST_SERVER_VERSION}.war /usr/local/tomcat/webapps/tango.war
на
COPY target/rest-server-2.2-SNAPSHOT.war /usr/local/tomcat/webapps/tango.war
Т.к. docker собрался с именем rest-server-2.2-SNAPSHOT.war
Смотрим список образов:

Теперь запускаем наш docker, он будет работать на 8080 порту.
docker run --restart unless-stopped -p 8080:8080 -d tangocs/rest-server:rest-server-2.2

Процедура проверки работоспособности такая же как и в 1-ом абзаце.
Переключим версию java назад на 8-ую.
sudo update-alternatives --config java

Спасибо за внимание.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_open_source, #_itinfrastruktura (IT-инфраструктура), #_tango_controls, #_tango_rest_server, #_open_source, #_itinfrastruktura (
IT-инфраструктура
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 25-Ноя 15:01
Часовой пояс: UTC + 5