wsl-docker环境下启动ES报错vm.max_map_count [65530] is too low

问题描述

在windows环境下用Docker Desktop(wsl docker)启动 elasticsearch时报错

bash 复制代码
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案

方案一

默认的vm.max_map_count值是65530,而es需要至少262144

根据 elasticsearch官方文档 的解决方案,执行以下命令后,es可以正常启动。

bash 复制代码
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144

但是,以上修改只在当前会话有效,重启 Windows 和 WSL 都要重新设置

方案二

根据docker官方给出的解决办法,我尝试后,docker重启或系统重启就失效了

bash 复制代码
wsl -d docker-desktop
echo 262144 >> /proc/sys/vm/max_map_count

方案三

根据Using Docker-Desktop for Windows, how can sysctl parameters be configured to permeate a reboot? 的回答,添加wsl .wslconfig文件,使wsl每次启动都执行命令。

在你的windows %userprofile% 目录(通常是C:\Users<你的用户名>)中创建或编辑.wslconfig文件,加入如下命令

bash 复制代码
[wsl2]
kernelCommandLine = "sysctl.vm.max_map_count=262144"

然后,重启你的docker,尝试在cmd中输入以下命令,查看max_map_count是否已经变为262144

bash 复制代码
wsl -d docker-desktop
sysctl vm.max_map_count
相关推荐
DoveLx1 分钟前
如何集成ElasticSearch到Spring Boot+MySQL项目中
java·elasticsearch
yumgpkpm34 分钟前
CMP(类ClouderaCDP7.3(404次编译) )完全支持华为鲲鹏Aarch64(ARM),粉丝数超过200就开源下载
hive·hadoop·redis·mongodb·elasticsearch·hbase·big data
Archy_Wang_11 小时前
Elasticsearch8.4.1升级Elasticsearch9.1.5
运维·elasticsearch·jenkins
集智飞行2 小时前
docker login方法
运维·docker·容器
不开心就吐槽3 小时前
docker-compose方式快速安装MySQL
运维·docker·容器
芥子沫3 小时前
Docker安装思源笔记&使用指南
笔记·docker·容器·思源笔记
行思理3 小时前
macos 下 docker使用方法 新手教程
macos·docker·容器
团儿.4 小时前
Docker Swarm:打造高效、可扩展的容器编排引擎,引领微服务新纪元(上)
docker·微服务·容器·docker-swarm集群
small_white_robot4 小时前
vulnerable_docker_containement 靶机
运维·网络·web安全·网络安全·docker·容器
m0_748255416 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
大数据·git·elasticsearch