Докер: Java не может определить IP-адрес хоста

Проблема

Я создаю образ, содержащий всю платформу Управляемый поиск Oracle Commerce, так как можно создать образ успешно, содержащиеся в нем процессы Java не смогут работать из-за возникшего следующего исключения:

Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostException:37863d1a232e: System error
    at com.endeca.itl.service.ServiceLocator.getService(ServiceLocator.java:226)
    at com.endeca.itl.component.manager.cmd.task.ComponentManagerTask.getManager(ComponentManagerTask.java:69)
    at com.endeca.itl.component.manager.cmd.task.DeleteComponentInstanceTask.process(DeleteComponentInstanceTask.java:71)
    at com.endeca.itl.cmd.BaseCmd.run(BaseCmd.java:464)
    at com.endeca.itl.component.manager.cmd.ComponentManagerCmd.main(ComponentManagerCmd.java:99)
Caused by: java.net.UnknownHostException: 37863d1a232e: System error
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44)
    at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:102)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
    at com.endeca.itl.util.UrlUtils.ping(UrlUtils.java:180)
    at com.endeca.itl.util.UrlUtils.ping(UrlUtils.java:149)
    at com.endeca.itl.service.ServiceLocator.getService(ServiceLocator.java:217)
    ... 4 more

Глядя на исключение, ясно, что имя хоста установлено на: 37863d1a232e.

Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostException: 37863d1a232e: System error

Если я проверю OS $ HOSTNAME, я получу следующий результат:

[root@37de552fbd05 bin]# echo $HOSTNAME
37de552fbd05

То же самое, что и в / etc / hosts /:

[root@37de552fbd05 bin]# cat /etc/hosts/
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2      37de552fbd05

Но это не тот, который показан за исключением.

Что я пытался решить?

  1. Я использовал флаг --hostname как --hostname = localhost
  2. Я попытался решить эту проблему: 32537977

Факты

  1. Я использую Mac OS (High Sierra, 10.13.5) в качестве хост-машины.
  2. Версия сообщества Docker (Engine: 18.03.1-ce) используется для создания образа Docker.
  3. Виртуальная ОС - oraclelinux: 7.2
  4. К сожалению, мне не удалось выполнить упомянутые выше обходные пути.

К сожалению, мне это не удалось.

Вопросов

Что могло быть причиной этого?

Источники

  1. Dockerfile

Решение должно использовать Docker Machine, а не пытаться взломать сетевой адаптер xhyve + Docker.

OneCricketeer 27.06.2018 22:25

Можете ли вы показать свой Dockerfile?

zero298 27.06.2018 22:31

@ zero298: файл Docker: pastebin.com/2C7zNW0k

Eder 27.06.2018 22:38

Это известная проблема с предложенными обходными путями здесь

bated 14.08.2018 22:06
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
913
0

Другие вопросы по теме