我是Docker和弹性搜索的新手。 我正在使用Windows 7机器。我正在使用docker-compose来启动docker。我的yml文件有 elasticsearch: image:elasticsearch:5.1.1 环境: ES_JAVA_OPTS:“ - Xms1g -Xmx1g”
以及其他链接图片。 我正在使用docker调出弹性图像,在此期间我收到以下错误
[36melasticsearch_1 |←[0m ERROR: bootstrap checks failed
[36melasticsearch_1 |←[0m max virtual memory areas vm.max_map_count [65530] i
太低,至少增加[262144] [36melasticsearch_1 |←[0m [2017-02-08T11:06:51,752] [INFO] [o.e.n.Node
我搜索了解决方案以及建议使用的所有地方
sudo sysctl vm.max_map_count=262144
但在Windows中,sysctl不存在。 窗口没有明确的步骤。
我的机器中出现了另一个泊坞窗图像,因此泊坞机正在我的机器上工作。
有人可以提供解决此问题的线索吗?
答案 0 :(得分:11)
当前,在this issue之后,通过wsl -d docker-desktop
和sysctl -w vm.max_map_count=262144
使其生效。
有人用echo "vm.max_map_count = 262144" > /etc/sysctl.d/99-docker-desktop.conf
或echo -e "\nvm.max_map_count = 262144\n" >> /etc/sysctl.d/00-alpine.conf
使它持续工作,但这些都不对我有用。
答案 1 :(得分:7)
我已经在这个问题上停留了几个月,解决方法是在cmd.exe as stated in the official Elasticsearch documentation上启动以下命令:
0
您已经准备好开始Elasticsearch!
答案 2 :(得分:4)
您可以使用以下命令设置vm.max_map_count:
docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
答案 3 :(得分:2)
Elasticsearch 对此进行了修复。
这在 Win 10 Pro Version 10.0.19042.685、Docker Engine v20.10.0 Using ES 7.10 上对我有用
问题出在主机 linux 机器 (WSL2) 上,而不是容器上。
请参阅带有 Docker 桌面 WSL 2 后端的 Windows 部分 https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_set_vm_max_map_count_to_at_least_262144
-d 发行版(例如不是 ubuntu)
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
之后我的 3 节点集群 docker-compose 成功启动。
答案 4 :(得分:0)
您在正常模式或生产模式下启动Elasticsearch,从版本5开始包含引导程序检查,如果它们失败,Elasticsearch将无法启动。
https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
但是,您可以在Windows上运行开发模式,该模式仅解析为警告。试着运行弹性图像。
docker run -p 9200:9200 -e "http.host=0.0.0.0" \
-e "transport.host=127.0.0.1" \
docker.elastic.co/elasticsearch/elasticsearch:5.2.0
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
答案 5 :(得分:0)
由于我是这个Docker的新手,我对基础知识感到困惑。我现在找到了解决问题的方法。
在Windows中安装的docker中,创建了一个Oracle VM Linux框。我打开了那个,然后在那里我添加了sudo sysctl vm.max_map_count=262144
,之后问题就解决了。
答案 6 :(得分:0)
Elasticsearch要求变量262144
的最小值vm.max_map_count
。
在linux中,显示变量值:
sysctl --values vm.max_map_count
更改变量值:
sudo sysctl --w vm.max_map_count=262144
了解更多信息
答案 7 :(得分:0)