Сбой соединения RabbitMQ: Брокер недоступен - изображение Docker - PullRequest
0 голосов
/ 12 октября 2019

Я установил это изображение rabbitmq (тег: rabbitmq: 3-management)

Используется ниже команды для настройки контейнера на моей машине

docker run --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management

Я могуувидеть, что контейнер запущен и работает с помощью команды docker ps

ra

Портал управления RabbitMQ также работает и работает через порт 8080

enter image description here

.Net Core 2.2 code

Ниже приведен фрагмент кода .Net core для подключения для создания соединения

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");

        var factory = new ConnectionFactory() { HostName = "localhost" };
        factory.Port = 8080;
        factory.UserName = "guest";
        factory.Password = "guest";

        //Getting exception while creating connection 
        //RabbitMQ.Client.Exceptions.BrokerUnreachableException: 'None of the specified endpoints were reachable'

        using (var conn = factory.CreateConnection())
        {
        }

        //I am having similar issue with MassTransit
        //var bus = Bus.Factory.CreateUsingRabbitMq(cfg =>
        //{
        //  cfg.Host(new Uri(@"rabbitmq://localhost:8080/my-rabbit"), host =>
        //   {
        //       host.Username("guest");
        //       host.Password("guest");
        //   });
        //});

        //bus.Start();

        Console.ReadKey();
    }
}

Я не могу создать соединение и получаю исключение ниже:

RabbitMQ.Client.Exceptions.BrokerUnreachableException: 'Ни одна из указанных конечных точек не была доступна'

Нужно ли настраивать контейнер с какой-либо другой командой или передавать какую-либо дополнительную переменную среды при создании контейнера?

1 Ответ

2 голосов
/ 12 октября 2019

Также откройте порт очереди:

-p 5672:5672

Подключитесь к этому порту вместо 8080, как вы это сделали.

...