Win10环境用WSL+Docer搭建ElasticSearch集群时,肯定会报这样一个错误:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案如下:
$ wsl -d docker-desktop $ sysctl -w vm.max_map_count=262144
不少人应该都试过这样来设置,但是令人疑惑的是为啥WSL重启或电脑重启后就不起效了?
这跟WSL的机制有关,具体就拿Docker-Desktop来说:
docker-desktop启动时,会将自己原始的wsl文件拷贝一份,到当前运行时的虚拟文件系统
因此,docker-desktop关闭时,进入的是原始的文件系统,修改的东西会长期有效,
docker-desktop开启时,进入的是当前运行实例的虚拟文件系统,修改的东西仅在当前运行实例有效。
简而言之:要想你的修改永久有效,就先关闭docker-desktop再修改!!