Unkown Host Exception - PullRequest
       0

Unkown Host Exception

0 голосов
/ 11 февраля 2019

Неизвестное исключение HostException в Docker-контейнере.

У меня есть несколько служб, мой docker-compose имеет следующий код

version: '3.5'

    services:


      reservation:
        container_name: sp-app-reservation
        image: swimming-pool/reservation-service
        environment:
         - SPRING_PROFILES_ACTIVE=dev
        ports:
         - 8181:8182
        depends_on:
         - notification
        network_mode: host
        restart: always


      web:
        container_name: sp-app-web-ui
        image: swimming-pool/web-ui-service
        environment:
         - SPRING_PROFILES_ACTIVE=dev
        ports:
         - 8080:8081
        depends_on:
         - notification
         - reservation
         - fileupload
        network_mode: host
        restart: always  

      eureka:
        container_name: sp-app-eureka
        image: swimming-pool/discovery-service
        environment:
         - SPRING_PROFILES_ACTIVE=dev
         - SERVICE_PORT_RESERVATION=8181
         - SERVICE_PORT_FILEUPLOAD=8686
         - SERVICE_PORT_WEB=8080
        ports:
         - 8761:8762
        network_mode: host
        restart: always

Я использую шаблон отдыха для вызова из веб-службы вУслуга бронирования с использованием «http://sp -app-booking: 8182 / отдых / бронирование ».

Я сталкиваюсь с приведенным ниже исключением и вижу, что мой контейнер работает с тем же именем.

org.springframework.web.client.ResourceAccessException: I/O error on GET 
request for "http://sp-app-reservation:8182/rest/reservation/":
sp-app-reservation;  nested exception is java.net.UnknownHostException: 
sp-app-reservation

Было бы замечательно, если кто-нибудь поможет или предложит мне решить эту проблему.Заранее спасибо.

1 Ответ

0 голосов
/ 11 февраля 2019

Вы используете network_mode: host, поэтому вам необходимо настроить запись хоста "sp-app-booking" на уровне операционной системы хоста (например, "жестко кодировать" ее в /etc/hosts).

Лучшая опциябудет создавать сеть докеров, где вы можете использовать имена контейнеров докеров и публиковать только выбранные порты для хоста ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...