Я изначально настроил это репо как два контейнера, один из которых обслуживает веб-интерфейс dotnetcore, а другой - консольное приложение dotnetcore, которое работает с веб-интерфейсом. Они оба были в одной и той же сети докеров, и все работало гладко, ударяя по webapi, используя имя контейнера в URL.
Затем я добавил RabbitMQ в качестве другого контейнера, и, хотя я могу использовать консоль rabbit-mgmt в своем веб-браузере, я не могу подключиться к Rabbit из приложения webAPI. См. Сообщение об ошибке ниже.
Я загрузил кодовую базу в github (ссылка ниже). Есть идеи, что я делаю не так? Что-то в docker compose или что-то в MessageService.cs? Я также вставляю ошибку ниже, но думаю, что проблема в том, что MessageService не может достичь контейнера rabbitMQ. Любая помощь будет принята с благодарностью.
https://github.com/matthew-harper/rabbit-docker-sample
publisher_api_1 | fail: Microsoft.AspNetCore.Server.Kestrel[13]
publisher_api_1 | Connection id "0HLNPLL1QJORV", Request id "0HLNPLL1QJORV:00000001": An unhandled exception was thrown by the application.
publisher_api_1 | RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable ---> System.AggregateException: One or more errors occurred. (Connection failed) ---> RabbitMQ.Client.Exceptions.ConnectFailureException: Connection failed ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: No such device or address
publisher_api_1 | at System.Net.Dns.InternalGetHostByName(String hostName)
publisher_api_1 | at System.Net.Dns.ResolveCallback(Object context)
publisher_api_1 | --- End of stack trace from previous location where exception was thrown --