我使用this容器在docker
中启动elasticsearch
。根据manual,我必须更新max_map_count
以启动容器
sudo sysctl -w vm.max_map_count=262144
但是..我可以在我的主机(容器)更新它后,我启动它,而我无法启动它。我做错什么了吗?
错误:引导检查失败最大虚拟内存区域vm.max_map_count [65530]可能太低,至少增加到[262144]
如果我尝试在我的主机(即Mac)上执行此操作,我会得到以下错误。
sysctl:未知的oid 'vm.max_map_count'
Docker引擎安装Lunix VM,所有容器都在其中运行。因此,增加限制的命令应该针对Linux主机执行,而不是针对Mac。
如何通过Docker引擎安装的终端访问Linux VM?
8条答案
按热度按时间yhuiod9q1#
Docker工具箱
如果你在docker toolbox中,尝试从终端运行docker客户端,然后进行配置:
在Docker For Mac上:
必须在xhyve虚拟机中设置vm_max_map_count设置:
如果它要求您输入用户名和密码,请使用root登录,无需密码。
如果它只是一个空白屏幕,按回车键。
然后像在Linux中一样配置sysctl设置:
通过Control-A Control-\退出。
把文件拿来。
持久化
在某些情况下,此更改不会在VM重新启动时持续。因此,当
screen
'd进入时,编辑文件/etc/sysctl.d/00-alpine.conf
并将参数vm.max_map_count=262144
添加到文件的末尾。vdzxcuhz2#
Mac版Docker最新版本(18.06.0-ce-mac 70):
在空白屏幕上,按RETURN。
然后像在Linux中一样配置sysctl设置:
通过Control-A Control-\退出
k2arahey3#
对于那些在windows 10上使用
Docker Desktop
的用户,您必须执行:sysctl -w vm.max_map_count=262144
之前的命令行中的wsl -d docker-desktop
r7knjye24#
对于那些在Mac上使用Docker Desktop的人来说,你可以通过以下步骤轻松增加内存:
1.点击docker桌面-> preferences...
1.导航到“资源”
1.将内存更改为您需要的任何内存
1.单击“应用并重新设置”
6ss1mwsb5#
文件夹已移动,这是新位置-
$screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
然后
sysctl -w vm.max_map_count=262144
vsaztqbk6#
对于mac用户,您可能会在连接到Docker VM时遇到问题,因此您应该运行此命令以进入Docker VM的shell:
GitHub问题描述:https://github.com/docker/for-mac/issues/4822
szqfcxe27#
Podman Desktop for Mac OS
对于我们这些在Podman Desktop上遇到同样问题的人来说,我们必须更新Podman运行的虚拟机的设置,以便在Mac上运行容器。
步骤...
登录Podman虚拟机
从Mac上的终端:
编辑默认
/etc/sysctl.conf
文件使用
sudo
编辑/etc/sysctl.conf
并添加vm.max_map_count = 262144
属性。退出podman虚拟机后,您应该能够运行ElasticSearch容器:
然后我会建议停止Podman桌面并重新启动您的Mac。然后重新启动Podman Desktop并尝试再次运行ElasticSearch容器。应该能用
4si2a6ki8#
如果你已经从docker's Mac installer安装了Docker,那么你将安装Docker桌面(还包括Docker Engine,Docker CLI客户端,Docker Compose,Notary,Kubernetes和Credential Helper。
这是Docker桌面在2021年的样子,您可以更改内存/交换或任何其他资源。
第一步-点击docker的首选项,如下图所示。
第2步-单击资源选项卡,在这里您可以调整资源,最后单击“应用并重新启动”按钮。
请忽略我所做的配置。您可以根据自己的要求进行设置。