ElasticSearch连接被拒绝

pu3pd22g  于 8个月前  发布在  ElasticSearch
关注(0)|答案(1)|浏览(120)

我的Sping Boot 后端有这个Dockerfile:

FROM eclipse-temurin:17-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ./target/elasticSpring-0.0.1-SNAPSHOT.jar elasticSpring.jar
ENTRYPOINT [ "java","-jar","/elasticSpring.jar" ]

这是我的网站application.properties

spring.data.elasticsearch.cluster-name=http://localhost:9200

这是我的docker-compose.yml文件:

version: '1'
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12
    container_name: es
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - discovery.type=single-node
    networks:
      - mynet

  springboot-app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8080:8080"
    depends_on:
      - es
    environment:
      - SPRING_DATA_ELASTICSEARCH_CLUSTER_NODES=es:9200
    networks:
      - mynet

networks:
  mynet:
    driver: bridge

据我所知,docker-compose环境覆盖了application.properties,所以我不认为这是问题所在。但我得到了“造成原因:org.springframework.dao.DataAccessResourceFailureException:连接被拒绝”和连接错误。请帮助。

but5z9lq

but5z9lq1#

在浏览了所有的互联网后,我终于找到了解决方案,原来“spring.elasticsearch.uris”的默认值是localhost:9200,我的容器一直在尝试连接到不存在的主机沿着。我在docker compose中添加了“SPRING_ELASTICHALO_URIS=es:9200”到我的后端环境中,现在它工作得很好。

相关问题