如果你使用windows上的docker desktop 搭建es相关的应用,大概率会遇到vm.vm.max_map_count [65530] is too low这个错误,本篇文章分享下怎么解决这个问题,主要分享长期解决的方法,重启机器之后也能生效的方法。
这个错误的详细信息是这样的
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- 临时解决(重启失效)
执行如下两个命令
- wsl -d docker-desktop
- echo 262144 >>/proc/sys/vm/max_map_count
执行完成后再启动es就不会报错了。
- 长期解决(重启生效)
- 在windows的用户目录下(C:\Users<username>)创建或编辑.wslconfig文件
- 增加如下内容(注意[wsl2]不要忽略)
[wsl2]
kernelCommandLine = “sysctl.vm.max_map_count=262144”
测试是否生效
- wsl --shutodwn 关闭
- wsl 启动
- 输入命令 wsl -d docker-desktop sysctl vm.max_map_count
- 显示 vm.max_map_count=262144 则成功
本篇文章的解法参考了它: https://stackoverflow.com/questions/69214301/using-docker-desktop-for-windows-how-can-sysctl-parameters-be-configured-to-sur/69294687#69294687