目录
问题描述
windows docker 运行elasticsearch 直接就停止了。
docker run --name es01 -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.1.1
查看docker日志
docker logs es01
提示 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
解决方法
网络上找到的基本都是说sysctl -w vm.max_map_count=262144货者是/etc/sysctl.conf里添加vm.max_map_count = 262144 。但是在容器里操作后问题依旧,后发现需要操作的是宿主机。然而windows的宿主机是用docker-desktop容器来提供服务的,操作方法如下。
wsl 模式、
注意:这个方法重启电脑或wsl --shutdown停止服务后重启就无效了。
进入宿主机:
wsl -d docker-desktop
输入
sysctl -w vm.max_map_count=262144