Веб-консоль GridGain с Docker: 404 не найдена - PullRequest
1 голос
/ 23 апреля 2020

Я пытаюсь развернуть GridGain Web Console 2020.03.01 на RHEL7 x86_64 с Docker, следуя документации здесь .

Однако есть 404 Не найдено ошибка при доступе к http://localhost: 3000 / swagger-ui. html страница, которая используется для проверки работоспособности. Журналы бэкэнда не показывают ошибок. Последняя версия, с которой я могу запускать контейнеры: 2019.12.02 (которая фактически отказывается показывать подключенный кластер, но это другая проблема). Начиная с 2020.01.00 , все проверки работоспособности бэкэнда завершаются неудачно. Это выглядит подозрительно, учитывая, что 2020.01.00 releasenotes включает обновления io.springfox и swagger-ui-dist.

Кроме того, 2020.03.01 releasenotes говорят, что порт консоли по умолчанию изменен на 8008, но сервер по-прежнему запускается на 3000.

Кому-нибудь повезло с развертыванием Dockerized Web Console?

Ответы [ 2 ]

2 голосов
/ 24 апреля 2020

Веб-консоль состоит из бэкэнда и внешнего интерфейса . Сервер запускается на порту 3000 , который печатается в журнале, а интерфейс действительно запускается на порту 8008 - и вам больше всего вероятно, хотите использовать это.

docker -compose.yml , указанный на сайте документации, сопоставляет порт 8008 контейнера с хостом 80 порт, не стесняйтесь заменить на любой требуемый.

Что касается проверки heathcheck, конечная точка / health теперь изменена на this

2 голосов
/ 24 апреля 2020

Swagger был удален в 2020.01.00 из-за проблем безопасности (та же проблема GG-26726, упомянутая в примечаниях к выпуску). Вы правы, чтобы быть подозрительным, я попрошу нужных людей обновить примечания к выпуску и документы, извините за путаницу и спасибо за то, что указали на проблему. Предполагалось, что Swagger является внутренней функцией только для команды разработчиков Web Console (W C).

Как вы указали, начиная с 2020.01.00 проверка работоспособности на основе Swagger не будет работать. Внутри команда W C использует dockerize для ожидания запуска бэкэнда. Вот пример из нашего набора тестов E2E:

entrypoint: dockerize -wait http://backend:3000/health -timeout 2m -wait-retry-interval 5s node ./index.js --target=${TARGET:-on-premise}

Это может работать и для вас, с некоторая адаптация. Скорее всего, вам придется удалить разделы «healthcheck» из docker -compose.yml или изменить их, если URL «http://backend: 3000 / health » действительно может служить прямой заменой для старого "http://localhost: 3000 / swagger-ui. html" URL, в котором я не уверен.

...