Докерские контейнеры не взаимодействуют должным образом

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

Мы пытаемся создать мультиконтейнерный микросервис, состоящий из основного 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 ответ

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

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

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