更新ElasticSearch docker容器Mac主机的max_map_count

我使用这个容器在elasticsearch中启动elasticsearch 。 按照手册我必须更新max_map_count来启动容器

sudo sysctl -w vm.max_map_count = 262144

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

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

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

sysctl:unknown oid'vm.max_map_count'

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

我如何通过Docker引擎安装的terminal访问Linux VM?

在Docker工具箱上

如果你在docker工具箱中,请从terminal尝试docker客户端,然后进行configuration:

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

在Docker for Mac上:

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

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

如果它询问你的用户名和密码login用root和没有密码。

如果它只是一个空白的屏幕,按回车键。

然后像为Linux一样configurationsysctl设置:

 sysctl -w vm.max_map_count=262144 

通过Control-A Control- \退出。

在这里查看文档。

坚持

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