记一次docker安装elasticsearch启动闪退

1,准备镜像

2,启动

docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms64M -Xmx256M" --name elasticsearch elasticsearch 6.8.0

启动完毕以后发现es秒退,一脸懵逼??????????,

3,这时在查看es日志的时候发现了问题:

4,查看报错信息发现提示vm.max_map_count[65530] is too low 太低了

所以我们切换至root 用户, vi /etc/sysctl.conf,在下面添加

vm.max_map_count = 655360

5,重新加载配置文件

/sbin/sysctl -p

6,最后重新启动docker容器中的es

docker restart elasticsearch

也是查了下资料,发现秒退的原因还有可能是

https://blog.csdn.net/sun_dai_le/article/details/99723600?biz_id=102&utm_term=docker%E5%90%AF%E5%8A%A8elasticsearch%E7%8A%B6%E6%80%81Exited%E6%8A%A5&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-99723600&spm=1018.2118.3001.4187

这位博主说到的 "启动后关闭,是由docker的运行机制导致的,因为是-d 是后台运行,启动后没有使用,就没有创建终端,自动关闭",所以我们采用下面的启动脚本,启动完毕以后可以正常访问.

docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS -Xms521M -Xmx512M" --name elasticsearch elasticsearch 6.8.0

7,访问http://ip:9200

记一次docker安装elasticsearch启动闪退_第1张图片

8,访问成功

遇到问题还是得注意logs输出的内容,针对性的去寻找解决方案

你可能感兴趣的:(docker,linux,java)