Docker Elastic Search - 如何在 windows docker 中设置 vm.max_map_count?
Docker Elastic Search - How to set vm.max_map_count in windows docker?
我在我的 php 项目中使用弹性搜索,但在 Windows 10.
中遇到问题
max virtual memory areas vm.max_map_count [65530] is too low, increase
to at least [262144]
我使用此命令修复了它,但我在 运行 docker-compose up -d[=21= 之前每次都在 运行 宁它].
我不想每次都 运行 它。谁能告诉我如何在 windows docker 容器上永久设置 vm.max_map_count?
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
更新:
遗憾的是,并非所有 sysctl
选项都允许在运行时修改,请参阅 here。 vm.
前缀的 sysctl 没有命名空间,因此您只能选择修改 /etc/sysctl.conf
.
原回答:
您可以在 docker-compose.yml
中调整每个容器的 sysctl
设置:
version: "3.0"
services:
myservice:
image: myimage
# https://docs.docker.com/compose/compose-file/compose-file-v3/#sysctls
sysctls:
- vm.max_map_count=262144 # won't work, see the update
或者,您可以通过将 vm.max_map_count = 262144
行添加到 /etc/sysctl.conf
来为主机上的所有容器更改此设置。此文件中的设置在启动时应用。
我在我的 php 项目中使用弹性搜索,但在 Windows 10.
中遇到问题max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
我使用此命令修复了它,但我在 运行 docker-compose up -d[=21= 之前每次都在 运行 宁它]. 我不想每次都 运行 它。谁能告诉我如何在 windows docker 容器上永久设置 vm.max_map_count?
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
更新:
遗憾的是,并非所有 sysctl
选项都允许在运行时修改,请参阅 here。 vm.
前缀的 sysctl 没有命名空间,因此您只能选择修改 /etc/sysctl.conf
.
原回答:
您可以在 docker-compose.yml
中调整每个容器的 sysctl
设置:
version: "3.0"
services:
myservice:
image: myimage
# https://docs.docker.com/compose/compose-file/compose-file-v3/#sysctls
sysctls:
- vm.max_map_count=262144 # won't work, see the update
或者,您可以通过将 vm.max_map_count = 262144
行添加到 /etc/sysctl.conf
来为主机上的所有容器更改此设置。此文件中的设置在启动时应用。