Проблема с доступом к vespa вне док-контейнера - PullRequest
0 голосов
/ 10 декабря 2018

Установил Docker на Mac и пытается запустить Vespa на Docker, следуя шагам, указанным в следующей ссылке https://docs.vespa.ai/documentation/vespa-quick-start.html

У меня не было проблем до шага 4. Я вижу, что контейнер vespa работает после шага 2 иШаг 3 вернул ответ 200 OK.

Но Шаг 5 не смог вернуть ответ 200 OK.Ниже приведена команда, которую я запускал на своем терминале curl -s --head http://localhost:8080/ApplicationStatus

Я получаю

curl: (52) Empty reply from server всякий раз, когда я запускаю без опции -s.

Итак, я попытался увидеть порты прослушивания в моем контейнере vespa и ничего не вижу для 8080, но могу видеть для 19071 (используется в шаге 3)

➜  ~ docker exec vespa bash -c 'netstat -vatn| grep 8080'  

➜  ~ docker exec vespa bash -c 'netstat -vatn| grep 19071'

tcp        0      0 0.0.0.0:19071           0.0.0.0:*               LISTEN     

Ниже документ имеет информацию, связаннуюк портам vespa

https://docs.vespa.ai/documentation/reference/files-processes-and-ports.html

Я предполагаю, что порт 8080 должен быть активным после запуска докера (шаг 2 ссылки быстрого запуска) и может быть доступен вне контейнера, поскольку сопоставление портов выполнено.Но я не вижу, 8080 порт активен внутри контейнера в первую очередь.Я что-то пропустил.Нужно ли выполнять какие-либо дополнительные действия, кроме упомянутых в кратком руководстве?К вашему сведению, я установил Jenkins в моем докере и смог получить доступ к внешнему контейнеру через сопоставление портов.Но не уверен, почему он не работает с vespa. Я пытался из тихого времени, но без прогресса.Пожалуйста, посоветуйте мне, если я что-то упустил здесь.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

У вас слишком мало памяти для вашего док-контейнера, «Минимум 6 ГБ памяти, выделенной для Docker (по умолчанию 2 ГБ на Mac)».См. https://docs.vespa.ai/documentation/vespa-quick-start.html

Предупреждения детектора взаимоблокировки и сбой при получении конфигурации с сервера конфигурации (который, вероятно, прерван), указывает на то, что у вас слишком мало памяти.

0 голосов
/ 10 декабря 2018

Я предполагаю, что ваш контейнер jdisc не завершил инициализацию или не был инициализирован должным образом?Вы пытались проверить журнал?

docker exec vespa bash -c '/opt/vespa/bin/vespa-logfmt /opt/vespa/logs/vespa/vespa.log'

Это должно сказать вам, если что-то не так.Когда он будет готов к приему запросов, вы увидите что-то вроде этого:

[2018-12-10 06:30:37.854] INFO    : container        Container.org.eclipse.jetty.server.AbstractConnector   Started SearchServer@79afa369{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[2018-12-10 06:30:37.857] INFO    : container        Container.org.eclipse.jetty.server.Server  Started @10280ms
[2018-12-10 06:30:37.857] INFO    : container        Container.com.yahoo.container.jdisc.ConfiguredApplication  Switching to the latest deployed set of configurations and components. Application switch number: 0
[2018-12-10 06:30:37.859] INFO    : container        Container.com.yahoo.container.jdisc.ConfiguredApplication  Initializing new set of configurations and components. Application switch number: 1
...