Docker安装ElasticSearch 8.2.0版本后,使用curl 访问 127.0.0.1:9200端口,返回Empty reply from server
出现问题的情况可能如下:
1、ElasticSearch未启动、或是内存不足、启动失败
2、防火墙未关闭
3、ElasticSearch自带的访问机制
思考后记录一下对应的解决方案:
1、docker 启动ElasticSearch的命令
docker 命令格式 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -d elasticsearch:8.2.0
--name: 指定容器名字
-p: 指定容器暴露的端口
-e: 指定环境变量
-d: 指定容器前台或后台运行,默认为false,后台
最后指定使用的镜像文件
2、打开防火墙
firewall-cmd --zone=public --add-port=1234/tcp --permanent //开放1234端口,永久有限
3、修改Docker下的ES配置文件
1、重新挂载目录
将Docker下 ES文件夹中的config导出,修改配置后,挂载至Docker中。步骤过多修改麻烦、我未采用。
2、改写Docker中的ES配置文件
在Docker中直接修改ES文件,然后重新启动ES。
步骤:
1、将Docker中ES配置文件导出
docker ps //查看ES的应用ID
1)拷贝出来 docker cp [容器ID]:/usr/share/elasticsearch/config/elasticsearch.yml /elasticsearch.yml
2)修改完成后拷贝回去 docker cp /elasticsearch.yml [容器ID]:/usr/share/elasticsearch/config/elasticsearch.yml
2、重启命令 docker restart elasticsear(--name 所起的名字)
标签:8.2,9200,--,server,elasticsearch,ElasticSearch,docker,Docker,ES From: https://www.cnblogs.com/knowledge-planet/p/17148196.html