windows的max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

场景

windows使用WLS2作为docker的虚拟子系统,然后启动docker的elasticsearch的集群时出现max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

对我无效解决方法

参考:https://blog.csdn.net/Nicolege678/article/details/125280585

https://blog.csdn.net/weixin_42170236/article/details/113698846

https://blog.csdn.net/sinat_36053757/article/details/125609762

https://blog.csdn.net/lsqtzj/article/details/119960484

有效解决方法

上述的无效方法其实主要是这两句命令:


wsl -d docker-desktop
sysctl -w vm.max_map_count=262144

然后出现

 sysctl -w vm.max_map_count=262144
sysctl : 无法将“sysctl”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径
正确,然后再试一次。
所在位置 行:1 字符: 1
+ sysctl -w vm.max_map_count=262144
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (sysctl:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

windows的max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]_第1张图片

 很明显不识别sysctl这个命令,因为sysctl是linux的命令。

解决办法命令

wsl --list

查看wsl有什么虚拟子系统:

windows的max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]_第2张图片

切换子系统

wsl -d Ubuntu-18.04

 然后就可以参考其他博文进行修改了

sudo vi /etc/sysctl.conf

文件最后添加一行

vm.max_map_count=262144

加载设置好的系统参数
sysctl [-n] [-e] -p (default /etc/sysctl.conf)

sudo sysctl -p

然后查看输出  看看是不是262144了

sysctl vm.max_map_count

如果成功

重启docker或者直接重启windows电脑即可

你可能感兴趣的:(Docker,docker,elasticsearch,容器)