windows下docker的vm.max_map_count问题

ste*_*ken 2 windows docker

我正在尝试在我的 windows10 上运行 ELK docker 镜像,如下所示。

  C:\WINDOWS\system32> docker run  -p 5601:5601 -p 9200:9200 -p 9300:9300 -p 5044:5044  -p 9600:9600 -p 9700:9700 -it --memory="3g" --name elk sebp/elk
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,我可以在 docker run 命令行设置 vm.max_map_count 吗?

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Run Code Online (Sandbox Code Playgroud)

任何建议或提示都非常受欢迎!

cha*_*art 10

这可以通过 WSL 对 .wslconfig 文件(存储在 Windows %userprofile% 文件夹中)的支持来完成,该文件可以在重新启动时应用并保留此类设置,例如:

[wsl2]
kernelCommandLine = sysctl.vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

(请注意,根据我的测试,sysctl 后面不是一个空格,而是一个句点,这是它正常工作所必需的。)

保存文件后,使用 重新启动 wsl wsl --shutdown。在重新打开 WSL 之前,请确保使用 关闭虚拟机wsl -l -v,因为有时可能需要几秒钟的时间。

有关此文件的更多信息、其许多可用设置,甚至需要等待关闭,请参阅文档