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
也是查了下资料,发现秒退的原因还有可能是
这位博主说到的 "启动后关闭,是由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
8,访问成功
遇到问题还是得注意logs输出的内容,针对性的去寻找解决方案