我使用 docker for mac 并在安装后创建了任何其他 vm。
我使用spujadas/elk-docker来运行 elk。
日志显示vm.max_map_count is too low。
所以我的问题是如何在本地虚拟机上更改它?
docker-machine 不能列出任何本地机器。
所以我不能ssh到本地vm并修改它?
我使用 docker for mac 并在安装后创建了任何其他 vm。
我使用spujadas/elk-docker来运行 elk。
日志显示vm.max_map_count is too low。
所以我的问题是如何在本地虚拟机上更改它?
docker-machine 不能列出任何本地机器。
所以我不能ssh到本地vm并修改它?
故障排除部分提到:
特别是,消息 max virtual memory area
vm.max_map_count [65530]可能太低,增加到至少[262144]意味着主机的mmap计数限制必须设置为至少262144。用于
sysctl vm.max_map_count查看当前值,有关如何更改此值的指导,请参阅Elasticsearch 关于虚拟内存的文档。
sysctl -w vm.max_map_count=262144
请注意,必须在主机上更改限制;它们不能从容器中更改。
您可以使用 ssh 连接到默认机器docker-machine ssh(如果您曾经运行任何容器,该机器必须存在)。
请参阅使用 Docker 安装 Elasticsearch:
OSX 与 Docker 工具箱
vm_max_map_count必须通过以下方式设置设置docker-machine:
docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
如果你有docker for Mac和它的Whyve VM,请看这个帖子:
screen
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
退出:
CTRL+A CTRL+\ followed by "y"
您将在“使用 Docker 安装 Elasticsearch ”中看到类似的建议:
该
vm_max_map_count设置必须在 xhyve 虚拟机中设置:
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
使用
root无密码登录。
然后像对 Linux 一样配置 sysctl 设置:
sysctl -w vm.max_map_count=262144