使用stack-docker时无法连接到端口9200上的elasticsearch

时间:2018-10-05 20:25:08

标签: docker elasticsearch docker-compose spring-data kibana

我正在尝试在开发Spring Boot应用程序时创建本地kibana /弹性堆栈。当我将其作为单个容器启动时,我可以成功地将应用程序连接到Elastic上:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.3

我的应用程序可以在9300上连接,并且我的Web浏览器可以看到它在localhost:9200上已启动

所以...我尝试启动提供的堆栈docker-docker docker-compose文件,该文件位于:https://github.com/elastic/stack-docker

一切似乎都设置正确,我可以在localhost:5601上连接到kibana,但是我的浏览器或应用程序都不能分别连接到9200和9300上的Elastic。

对github进行检查和运行的唯一修改是我在弹性定义中添加了9300。

您知道在docker-compose中运行时可以进行哪些更改以使我的应用程序/浏览器可以访问弹性吗?

1 个答案:

答案 0 :(得分:1)

请添加以下docker compose

version: '2.2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
    container_name: elasticsearch
    environment:
      - cluster.name=elasticsearch
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: docker.elastic.co/kibana/kibana:6.4.2
    container_name: kibana
    environment:
      - SERVER_NAME=localhost
      - ELASTICSEARCH_URL=http://elasticsearch:9200
      - XPACK.MONITORING.COLLECTION.ENABLED=true
    ports:
      - 5601:5601
volumes:
  esdata1:
    driver: local

运行后,kibana网址将位于     http://localhost:5601

和elasticsearch网址     http://localhost:9200/