更新ElasticSearch docker容器Mac主机的max_map_count

问题描述 投票:14回答:2

我正在使用this容器在elasticsearch启动docker。根据manual,我必须更新max_map_count以启动容器

sudo sysctl -w vm.max_map_count = 262144

但是..我可以在我的主机(容器)中更新它在我启动它之后我无法启动它。难道我做错了什么?

错误:引导程序检查失败的最大虚拟内存区域vm.max_map_count [65530]可能太低,增加到至少[262144]

如果我尝试在我的主机(Mac)上执行此操作,则会出现以下错误。

sysctl:unknown oid'vm.max_map_count'

Docker引擎安装所有容器正在运行的Linux VM。因此,应该为Linux主机执行增加限制的命令,而不是Mac。

如何通过Docker引擎安装的终端访问Linux VM?

elasticsearch docker containers docker-container
2个回答
33
投票

On Docker Toolbox

如果您在docker工具箱中尝试终端的docker客户端,然后进行配置:

docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
exit

On Docker For Mac:

必须在xhyve虚拟机中设置vm_max_map_count设置:

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

如果它要求您输入用户名和密码使用root登录并且没有密码。

如果它只有一个空白屏幕,请按RETURN。

然后像配置Linux一样配置sysctl设置:

sysctl -w vm.max_map_count=262144

通过Control-A Control- \退出。

见文档here

Persistence

在某些情况下,此更改不会在重新启动VM时持续存在。因此,当screen进入时,编辑文件/etc/sysctl.d/00-alpine.conf并将参数vm.max_map_count=262144添加到文件的末尾。


16
投票

On Latest Docker For Mac (Version 18.06.0-ce-mac70):

$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

在空白屏幕上,按RETURN。

然后像配置Linux一样配置sysctl设置:

sysctl -w vm.max_map_count=262144

通过Control-A Control退出 - \

© www.soinside.com 2019 - 2024. All rights reserved.