t. *_*MAZ 6 console-application rabbitmq .net-core docker-compose
来自控制台应用程序的兔子连接:
var factory = new ConnectionFactory()
{
HostName = Environment.GetEnvironmentVariable("RabbitMq/Host"),
UserName = Environment.GetEnvironmentVariable("RabbitMq/Username"),
Password = Environment.GetEnvironmentVariable("RabbitMq/Password")
};
using (var connection = factory.CreateConnection()) // GETTING ERROR HERE
using (var channel = connection.CreateModel())
{
channel.QueueDeclare(queue: "rss",
durable: fa...
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
未处理的异常:RabbitMQ.Client.Exceptions.BrokerUnreachableException:没有任何指定的端点可访问 ---> RabbitMQ.Client.Exceptions.ConnectFailureException:连接失败 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException:连接被拒绝 127.0。 0.1:5672
我的 docker-compose.yml 文件:
version: '3'
services:
message.api:
image: message.api
build:
context: ./message_api
dockerfile: Dockerfile
container_name: message.api
environment:
- "RabbitMq/Host=rabbit"
- "RabbitMq/Username=guest"
- "RabbitMq/Password=guest"
depends_on:
- rabbit
rabbit:
image: rabbitmq:3.7.2-management
hostname: rabbit
ports:
- "15672:15672"
- "5672:5672"
rsscomparator:
image: rsscomparator
build:
context: ./rss_comparator_app
dockerfile: Dockerfile
container_name: rsscomparator
environment:
- "RabbitMq/Host=rabbit"
- "RabbitMq/Username=guest"
- "RabbitMq/Password=guest"
depends_on:
- rabbit
Run Code Online (Sandbox Code Playgroud)
我正在使用 dotnetcore 控制台应用程序。当我在 docker 中使用此应用程序时,出现错误。我可以访问 rabbitmq 网络浏览器(http://192.168.99.100:15672)但应用程序无法访问。
您正在尝试从容器应用程序连接到rabbitmq应用程序。127.0.0.1:5672
您尝试在控制台应用程序容器中实现此目的。
但这是指向该容器内的本地主机,而不是主机上的本地主机。
您正在使用相同的 docker-compose 部署服务,而无需指定网络设置,这意味着它们都部署在同一个 docker 桥接网络内。这将允许您让容器使用其容器或服务名称相互通信。
因此尝试连接到rabbit:5672
而不是127.0.0.1:5672
. 该名称将被转换为容器 IP (172.xx.xx.xx),这意味着您将在容器之间创建私有连接。
归档时间: |
|
查看次数: |
3989 次 |
最近记录: |