30

我正在使用这个容器elasticsearchdocker. 按照手册我必须更新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?

4

6 回答 6

49

在 Docker 工具箱上

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

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

在 Mac 的 Docker 上:

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

$ 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-\ 退出。

请参阅此处的文档。

持久性

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

于 2016-12-20T21:32:57.137 回答
25

在最新的 Docker For Mac(版本 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-\

于 2018-08-01T00:33:33.050 回答
4

对于Docker Desktop在 Windows 10 上使用的用户,您必须执行:

wsl -d docker-desktop在命令行之前sysctl -w vm.max_map_count=262144

于 2020-08-29T18:51:21.117 回答
1

对于在mac上使用docker desktop的朋友,可以通过以下步骤轻松增加内存:

  1. 单击docker桌面->首选项...
  2. 导航到“资源”
  3. 将内存更改为您需要的任何内容
  4. 点击“应用并重启”
于 2020-12-23T00:33:02.327 回答
0

文件夹已被移动,这是新位置 -

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

接着

sysctl -w vm.max_map_count=262144

于 2019-11-06T09:54:48.537 回答
0

如果您已经从docker 的 Mac 安装程序安装了 Docker,那么您将安装 Docker 桌面(还包括 Docker 引擎、Docker CLI 客户端、Docker Compose、Notary、Kubernetes 和 Credential Helper。)

这是 2021 年 Docker 桌面的样子,您可以在其中更改内存/交换或任何其他资源。

第 1 步 - 单击 docker 的首选项,如下所示。

在此处输入图像描述

第 2 步 - 单击资源选项卡,您可以在此处调整资源,最后单击“应用并重新启动”按钮。

在此处输入图像描述

请忽略我所做的配置。您可以根据自己的要求进行设置。

于 2021-05-13T17:11:22.120 回答