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
相关推荐
gwd20014 小时前
如何快速设置 Docker 代理设置
运维·人工智能·docker·容器
武子康15 小时前
大数据-184 Elasticsearch Doc Values 机制详解:列式存储如何支撑排序/聚合/脚本
大数据·后端·elasticsearch
一苓二肆16 小时前
代码常用工具使用
git·vscode·docker·github·vim
Lynnxiaowen16 小时前
今天我们继续学习kubernetes内容Helm
linux·学习·容器·kubernetes·云计算
weixin_5214311216 小时前
Docker容器技术
运维·docker·容器
java_logo16 小时前
LinuxServer.io LibreOffice 容器化部署指南
java·开发语言·docker·dubbo·openoffice·libreoffice·opensource
古城小栈16 小时前
K8s 1.30 新特性:AI 驱动的资源调度 深度解析
人工智能·容器·kubernetes
杨浦老苏17 小时前
隐私优先的图片遮蔽工具AutoRedact
docker·ai·工具·群晖·图片
Radan小哥18 小时前
Docker学习笔记—day012
笔记·学习·docker
qq_54702617918 小时前
Docker 搭建Nexus3私服
运维·docker·容器