创建以下Elasticsearch7.2容器遇到报错信息:Unable to lock JVM Memory: error=12, reason=Cannot allocate memory

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d  -v /home/data/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /home/data/es/plugins:/usr/share/elasticsearch/plugins    -v /home/data/es/data:/usr/share/elasticsearch/data --net=host --name ES01 elasticsearch:7.2.0

解决办法:

1、修改/etc/security/limits.conf文件,增加以下两行

hard nofile 80000
soft nofile 80000

2、编辑 /etc/sysctl.conf,追加以下内容:vm.max_map_count=262144保存后,执行:sysctl -p重新启动

3、上面两步,我们把宿主机系统的限制修改了,但是没有改docker容器的。

所以还得在创建容器时增加:--ulimit memlock=-1:-1

运行以下命令就不会出现这个错误了。

 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d  -v /home/data/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /home/data/es/plugins:/usr/share/elasticsearch/plugins    -v /home/data/es/data:/usr/share/elasticsearch/data --net=host --ulimit memlock=-1:-1 --name ES01 elasticsearch:7.2.0

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐