使用NEST访问Elasticsearch Docker实例

问题描述 投票:0回答:1

我使用Docker Compose运行一个简单的Elasticsearch实例:

---
version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.1.1
    hostname: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    ports:
      - 9200:9200

  kibana:
    image: docker.elastic.co/kibana/kibana:6.1.1
    environment:
      SERVER_NAME: "0.0.0.0"
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - 5601:5601

我可以使用localhost从浏览器访问它,但是当我运行我的应用程序并连接到它时,我遇到了一些问题。从我能够跟踪它似乎应用程序成功连接到Elasticsearch实例,然后解析它绑定的IP,然后使用该IP地址与Elasticsearch实例进行通信。

来自Fiddler:

  1. http://10.0.75.2:9200/_nodes/http,settings?flat_settings&timeout=2s
  2. 它返回一个包含以下行的json:"host": "172.18.0.4"
  3. 然后它尝试使用此IP地址,我的请求失败,因为它无法解析该IP地址

为了能够从C#应用程序成功连接到我的Elasticsearch实例,我应该更改什么?

NEST版本:5.5.0

docker elasticsearch docker-compose nest
1个回答
2
投票

我能够通过在我的设置上将SniffingConnectionPool更改为StaticConnectionPool来解决它。

© www.soinside.com 2019 - 2024. All rights reserved.