记录 windows docker 使用elasticsearch的坑

系统:windows11

wls:2

elasticsearch:8.2.3

windows docker 运行elasticsearch 直接就停止了。

docker run --name es01 -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.1.1

查看docker日志

docker logs es01

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

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
解决方法
网络上找到的基本都是说sysctl -w vm.max_map_count=262144货者是/etc/sysctl.conf里添加vm.max_map_count = 262144 。但是在容器里操作后问题依旧,后发现需要操作的是宿主机。然而windows的宿主机是用docker-desktop容器来提供服务的,操作方法如下。

wsl 模式、

## 注意:这个方法重启电脑或wsl –shutdown停止服务后重启就无效了注意:这个方法重启电脑或wsl –shutdown停止服务后重启就无效了。

进入宿主机:

wsl -d docker-desktop

输入

sysctl -w vm.max_map_count=262144
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!