elasticsearch 为什么docker swarm上的elasticsearch需要transport.host=localhost设置?
我正试图在码头工人群上运行Elasticsearch。目前它作为单节点集群工作,但仅当包含elasticsearch 为什么docker swarm上的elasticsearch需要transport.host=localhost设置?,elasticsearch,docker-compose,docker-swarm,elasticsearch,Docker Compose,Docker Swarm,我正试图在码头工人群上运行Elasticsearch。目前它作为单节点集群工作,但仅当包含transport.host=localhost设置时才起作用。下面是docker compose.yml的主要部分: version: "3" services: elasticsearch: image: "elasticsearch:7.4.1" #(base version)
transport.host=localhost
设置时才起作用。下面是docker compose.yml的主要部分:
version: "3"
services:
elasticsearch:
image: "elasticsearch:7.4.1" #(base version)
hostname: elasticsearch
ports:
- "9200:9200"
environment:
- cluster.name=elasticsearch
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- transport.host=localhost
volumes:
- "./elasticsearch/volumes:/usr/share/elasticsearch/data"
networks:
- logger_net
volumes:
logging:
networks:
logger_net:
external: true
上述配置将导致黄色集群状态(因为某些索引需要额外的副本)
当我在transport.host设置中使用Elasticsearch docker容器的IP时,或者没有transport.host=localhost
设置时,Elasticsearch不可用
我认为使用transport.host=localhost设置是错误的。docker swarm中Elasticsearch的正确配置是否可用