Jos*_*hlo 4 sockets rabbitmq .net-core docker-compose
我的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
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器中输入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();
}
Run Code Online (Sandbox Code Playgroud)
然后它就破了
var rabbit = factory.CreateConnection();
Run Code Online (Sandbox Code Playgroud)
有错误说
ExtendedSocketException:连接被拒绝127.0.0.1:5672 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
ConnectFailureException:连接失败RabbitMQ.Client.EndpointResolverExtensions.SelectOne(IEndpointResolver解析器,Func选择器)
BrokerUnreachableException:没有指定的端点可达RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver,string clientProvidedName)
正如我在问题提出的评论中所说,这是因为Web应用程序部分中定义的"localhost"是容器localhost,而不是docker主机.
只是需要改变
- "ElasticUrl=http://localhost:9200"
- "RabbitMq/Host=localhost"
Run Code Online (Sandbox Code Playgroud)
至
- "ElasticUrl=http://elasticsearch:9200"
- "RabbitMq/Host=rabbit"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6462 次 |
| 最近记录: |