Docker中启动ElasticSearch自动退出

在docker中启动Elasticsearch镜像

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES 2bd69c322e98

然后就很开心的去访问端口试试 http://localhost:9200/ 结果访问都不成功,此时心里 ?

很自然的查看容器是否真正起了

结果。。。。 然后的查看容器日志发现

docker logs ES

第一个原因是 容器虚拟内存空间给小了,至少需要262144

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法

    方法一 修改之后,如果重启虚拟机将失效
sysctl -w vm.max_map_count=262144
      //查看结果:
      sysctl -a|grep vm.max_map_count
      //显示:vm.max_map_count = 262144
    方法二
vim /etc/sysctl.conf
//在最后一行上加上
vm.max_map_count=262144
//保存退出,加载配置,启动容器,就能够访问了
经验分享 程序员 微信小程序 职场和发展