gpt4 book ai didi

sockets - RabbitMq 在 docker 中运行时拒绝连接

转载 作者:行者123 更新时间:2023-12-02 02:05:51 29 4
gpt4 key购买 nike

我的 docker-compose 文件如下所示:

version: '2'

services:
explore:
image: explore
build:
context: ./Explore
dockerfile: VsDockerfile
environment:
- "ElasticUrl=http://localhost:9200"
- "RabbitMq/Host=localhost"
- "RabbitMq/Username=guest"
- "RabbitMq/Password=guest"
networks:
- localnet

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.3
container_name: elasticsearch
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- 9200:9200
volumes:
- ./esdata:/usr/share/elasticsearch/data
networks:
- localnet

rabbit:
image: rabbitmq:3.6.7-management
hostname: rabbit
ports:
- 15672:15672
- 5672:5672
networks:
- localnet

networks:
localnet:
external:
name: localnet

如果我输入 http://localhost:15672在浏览器中,我得到了rabbitmq界面,但是如果我尝试从我的Explore项目进行连接,如下所示:

public SqlToRabbitProcessor(SqlToRabbitRepository sqlToRabbitRepository)
{
_sqlToRabbitRepository = sqlToRabbitRepository;

var factory = new ConnectionFactory
{
HostName = Environment.GetEnvironmentVariable("RabbitMq/Host"),
UserName = Environment.GetEnvironmentVariable("RabbitMq/Username"),
Password = Environment.GetEnvironmentVariable("RabbitMq/Password")
};

var rabbit = factory.CreateConnection();
channel = rabbit.CreateModel();
}

然后就断线了

var rabbit = factory.CreateConnection();

错误提示

ExtendedSocketException:连接被拒绝 127.0.0.1:5672System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)

ConnectFailureException:连接失败RabbitMQ.Client.EndpointResolverExtensions.SelectOne(IEndpointResolver解析器,Func选择器)

BrokerUnreachableException:无法访问指定的端点RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, string clientProvidedName)

最佳答案

正如我在问题下的评论所暗示的那样,这是因为 Web 应用程序部分中定义的“localhost”是它的容器本地主机,而不是 docker 主机。

只需要改变

- "ElasticUrl=http://localhost:9200"
- "RabbitMq/Host=localhost"

- "ElasticUrl=http://elasticsearch:9200"
- "RabbitMq/Host=rabbit"

关于sockets - RabbitMq 在 docker 中运行时拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925747/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com