以下是问题分析:
1、直接执行docker run -p 9200:9200 -p 9300:9300 elasticsearch:6.8.0 会发现如图所示的错误
这个错误就是说虚拟机分配的内存太小了,最多分配65530,但是es启动需要262144,所以增加额外配置。vi /etc/sysctl.conf在最后一行添加vm.max_map_count = 262144,如图下边那个报错解决方案
解决方案:(只参考右侧解决方案)
(docker logs -f 容器名 后台运行时可以实时打印日志信息)这条不用管
然后就可以正常运行了。接下来进行一些配置之前把原来的容器删除。
es需要用到ik分词器,首先下载对应的版本放到当前路径下,然后执行
docker run -d --name es680 -p 9200:9200 -p 9300:9300 -v esdata:/usr/share/elasticsearch/data
-v /root/ik:/usr/share/elasticsearch/plugins/ik elasticsearch:6.8.0
然后安装kibana可视化工具用来操作es(可选)
docker pull kibana:6.8.0
docker run -d --name kibana -p 5601:5601 -e ELASTICSEARCH_URL =http://192.168.230.133: 9200 kibana:6.8.0
然后浏览器访问kibana --> http://192.168.230.133:5601
出现这个界面稍等一会多刷新几次就好了,特别慢的话是因为虚拟机分配的内存太少,可以改一下。我分配的4GB运行内存