我正在使用spring数据elasticsearch连接到docker容器中的elasticesearch。我使用的代码可以在
下找到https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#reference
static class Config {
@Bean
RestHighLevelClient client() {
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("elasticsearch")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
spring boot应用程序和docker弹性搜索位于同一网络上,因为它们都在同一目录中(spring boot docker-compose和elasticsearch docker-compose文件)。
我的elasticsearch docker-compose就这样
版本:“ 3”
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.6
container_name: elasticsearch
environment:
- cluster.name=cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
- esdata6:/usr/share/elasticsearch/data
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.8.6
container_name: kibana
volumes:
- ./config/kibana/kibana.yml:/usr/share/kibana/kibana.yml
restart: on-failure
ports:
- "5601:5601"
volumes:
esdata6:
我遇到错误
Caused by: java.io.IOException: elasticsearch
Caused by: java.net.UnknownHostException: elasticsearch
我如何让我的Spring Boot看到elasticsearch服务名称并解决它?我认为这与RestClients有关。