elasticsearch,yii2,windows-subsystem-for-linux,Php,Docker,elasticsearch,Yii2,Windows Subsystem For Linux" /> elasticsearch,yii2,windows-subsystem-for-linux,Php,Docker,elasticsearch,Yii2,Windows Subsystem For Linux" />

Php Docker弹性搜索-如何在windows Docker中设置vm.max_map_计数?

Php Docker弹性搜索-如何在windows Docker中设置vm.max_map_计数?,php,docker,elasticsearch,yii2,windows-subsystem-for-linux,Php,Docker,elasticsearch,Yii2,Windows Subsystem For Linux,我在php项目中使用弹性搜索,但在Windows10中遇到了一个问题 最大虚拟内存面积vm.max_map_计数[65530]过低,请增加 至至少[262144] 我使用此命令修复了它,但在运行docker compose up-d之前,我每次都会运行它。 我不想每次都运行它。谁能告诉我如何在windows docker容器上永久设置vm.max\u map\u计数 wsl-d docker桌面 sysctl-w vm.max\u map\u count=262144 更新: 不幸的是,并非所有

我在php项目中使用弹性搜索,但在Windows10中遇到了一个问题

最大虚拟内存面积vm.max_map_计数[65530]过低,请增加 至至少[262144]

我使用此命令修复了它,但在运行docker compose up-d之前,我每次都会运行它。 我不想每次都运行它。谁能告诉我如何在windows docker容器上永久设置vm.max\u map\u计数

wsl-d docker桌面

sysctl-w vm.max\u map\u count=262144


更新

不幸的是,并非所有的
sysctl
选项都允许在运行时修改,请参阅
vm.
-前缀sysctl没有名称空间,因此您只能选择修改
/etc/sysctl.conf

原始答案

您可以在
docker compose.yml
中调整每个容器的
sysctl
设置:

版本:“3.0”
服务:
我的服务:
图片:myimage
# https://docs.docker.com/compose/compose-file/compose-file-v3/#sysctls
sysctls:
-vm.max_map_count=262144不起作用,请参阅更新

或者,您可以通过将
vm.max\u map\u count=262144
行添加到
/etc/sysctl.conf
来更改主机上所有容器的此设置。此文件中的设置在启动时应用。

请共享更多详细信息。这和PHP有什么关系?谢谢你的评论。我正在Yii2/php项目中使用弹性搜索。