【发布时间】:2019-01-20 08:19:41
【问题描述】:
我有以下 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 在我的机器上本地运行时,一切正常,我的 reporting.service 能够毫无问题地连接到 messinging.bus (RabbitMQ)。
连接字符串如下所示:
"EventBus": {
"ConnectionString": "amqp://user:user@messaging.bus:5672/test"
},
当我将图像推送到 Azure 容器注册表并尝试在 Azure Web 应用程序中将其用于容器时,reporting.service 容器中会引发以下异常:
RabbitMQ.Client.Exceptions.BrokerUnreachableException: 没有 指定的端点是可达的---> System.AggregateException: One 或更多错误发生。 (连接失败)---> RabbitMQ.Client.Exceptions.ConnectFailureException:连接失败 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: 没有这样的设备或地址
仅供参考,我在连接到 RabbitMQ 时在 reporting.service 中实施了 Polly 重试策略,以便在代理不可用的情况下多次执行代码。确保 RabbitMQ 容器已启动并运行(我也确认了查看日志)。
我做错了什么?为什么我无法从其他容器中看到 rabbitMq 实例?
感谢您的帮助!
【问题讨论】:
-
你解决了这个问题吗!我有同样的问题
标签: docker docker-compose rabbitmq containers azure-web-app-service