Контейнер RabbitMQ недоступен в веб-приложении Azure для контейнеров - PullRequest
0 голосов
/ 20 января 2019

У меня есть следующее содержимое docker-compose:

version: '3.4'

services:
  reporting.service:
    image: xxx.azurecr.io/beta/reporting.service
    environment:
      - ASPNETCORE_ENVIRONMENT=Docker
    ports:
      - "5003:80" 

  messaging.bus:
    image: rabbitmq:3-management
    environment:
      - RABBITMQ_DEFAULT_USER=user
      - RABBITMQ_DEFAULT_PASS=user
      - RABBITMQ_DEFAULT_VHOST=test
    links:
      - reporting.service
    ports:
      - "15672"
      - "5672"

  web.frontend:
    image: xxx.azurecr.io/beta/web.frontend
    ports:
      - "3000:80"

При выполнении выше на локальном компьютере на моей машине с помощью docker все работает нормально, и мой report.service может подключиться к messaging.bus (RabbitMQ) безлюбая проблема.

Строка подключения выглядит примерно так:

"EventBus": {
    "ConnectionString": "amqp://user:user@messaging.bus:5672/test"
  },

Когда я помещаю свои изображения в реестр контейнеров Azure и пытаюсь использовать его в веб-приложении Azure для контейнеров, возникает следующее исключениев контейнере report.service:

RabbitMQ.Client.Exceptions.BrokerUnreachableException: ни одна из указанных конечных точек не была доступна ---> System.AggregateException: произошла одна или несколько ошибок.(Соединение не установлено) ---> RabbitMQ.Client.Exceptions.ConnectFailureException: Соединение не удалось ---> System.Net.Internals.SocketExceptionFactory + ExtendedSocketException: Нет такого устройства или адреса

К вашему сведению, я реализовалПолитика повторных попыток Polly в службе report.service при подключении к RabbitMQ, чтобы код выполнялся несколько раз в случае недоступности посредника.Чтобы убедиться, что контейнер RabbitMQ запущен и работает (что я также подтвердил, просматривая журналы).

Что я делаю не так?Почему я не могу увидеть экземпляр rabbitMq из других контейнеров?

Спасибо за помощь!

...