在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
//保存退出,加载配置,启动容器,就能够访问了