Док-контейнеры не взаимодействуют, как ожидалось - PullRequest
0 голосов
/ 24 мая 2018

У меня есть интересная проблема, которую я пытаюсь решить.

Мы пытаемся создать мультиконтейнерный микросервис, состоящий из основного API-контейнера dotnet и контейнера поиска sphinx.Контейнер sphinx строит свои индексы из сетевой базы данных SQL Server.

Я успешно протестировал контейнеры отдельно:

  1. Из версии API .NET v4.5, которую я могу запроситьконтейнер sphinx и получаю результаты.
  2. Используя контейнер API, указывающий на службу sphinx, работающую на моей локальной машине, я также получаю результаты.

Интересно, когда я запускаю2 контейнера с использованием docker-compose.Я вижу, что запрос поступает в контейнер sphinx, но результаты не возвращаются.

Итак, я знаю, что отдельные компоненты работают правильно.И они определенно способны разговаривать друг с другом.Но по какой-то причине данные не возвращаются.

Я не уверен, будет ли полезна публикация dockerfiles или docker-compose, но на всякий случай вот docker-compose.

version: '2'
services:
    sphinx3:
        build: sphinx/.
        container_name: sphinx3

    api:
        build: api/.
        container_name: api
        ports:
            - "52707:80"
        depends_on:
            - sphinx3

Sphinx версия 3.0.3-facc3fb Образ Sphinx создается с использованием ubuntu: 16.04

Образ API создается с использованием aspnetcore-build: 2.0

Любые идеи будут великолепны.

1 Ответ

0 голосов
/ 24 мая 2018

Попробуйте использовать «псевдонимы», я мог бы общаться между контейнерами, используя там псевдонимы.

PS: я использую docker-compose версии 3, где вы должны указать сеть для хранения контейнеров.

...