докер контейнер, при старте запускается приложение java — сервер, который пытается забиндится на своем имени хоста (заранее прописано в коде), но бросается UnknownHostException.
При этом если стартовать сервер не сразу при запуске контейнера, то стартует нормально.
Выглядит как будто на этапе стартапа ОС еще не успевает проинициализировать какие-то файлы или службы и приложение не понимает, что имя хоста вида ajo21aszsiqo12.myhost.net:8080 — это на самом деле localhost:8080.
Подскажите, пожалуйста, как в ОС резолвятся имена и вероятно ли мое предположение?
Резолвятся через вызовы в glibc и прочие. Это не важно Если там локалхост, то тебе наверное в /etc/hosts надо прописать в контейнере
И да, будет время -- спроси у этих зооводов, почему у них /etc/hosts в образе нет.
там не так просто, у меня там куча подов, в приложение динамически подставляется А, вспомнил, что у меня имя хоста в переменной окружения есть. Спасибо!
ох, там этот apache opensource вливает фиксы десятилетиями, сомневаюсь, что до них есть смысл стучаться
Но, в принцыпе, лучшэ, конечно, приложэнию указать висеть на 127.0.0.1, вместо вот этого всего. Обычно там можно отдельно имя хоста указывать, отдельно адрес, на который вешаться.
попробую… Я пробовал localhost, но оно падало так же. Впрочем понятно, почему, наверное, резолвить localhost или имя хоста — одно и то же
Потому что hosts нет
Обсуждают сегодня