You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS 14 ARM架构Docker运行Elasticsearch遇vm.max_map_count错误求助

解决MacOS 14 ARM架构下Docker启动Elasticsearch的vm.max_map_count过低问题

问题说明

在MacOS 14 ARM架构设备上使用Docker 4.25启动Elasticsearch 8.9.0容器时,触发错误:

vm.max_map_count [65530] is too low, increase to at least [262144]

容器配置如下:

image: elasticsearch:8.9.0
container_name: elasticsearch
hostname: elastic
environment:
  - node.name=elasticsearch
  - cluster.name=es-docker-cluster
  - cluster.initial_master_nodes=elasticsearch
  - bootstrap.memory_lock=true
  - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
ulimits:
  memlock:
    soft: -1
    hard: -1
volumes:
  - es-data:/usr/share/elasticsearch/data
ports:
  - ${DC_ELASTIC_HOST_PORT}:${DC_ELASTIC_PORT}

已尝试以下方法但无效:

  • 执行docker-machine ssh时提示Error: No machine name(s) specified and no "default" machine exists,该方法依赖仅支持Intel架构的VirtualBox
  • 执行screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty时路径不存在
  • 执行sudo sysctl -w vm.max_map_count=262144时提示sysctl: unknown oid 'vm.max_map_count'

有效解决方案

方法1:临时修改(重启Docker后失效)

通过进入Docker Desktop的LinuxKit虚拟机内部调整参数:

  1. 运行命令进入虚拟机:
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
  1. 在虚拟机内执行参数设置:
sysctl -w vm.max_map_count=262144
  1. 输入exit退出虚拟机,重启Elasticsearch容器即可。

方法2:持久化修改(重启Docker仍生效)

通过Docker Desktop配置文件永久设置参数:

  1. 打开Docker Desktop,点击右上角齿轮图标进入设置页
  2. 切换到Docker Engine标签,在配置JSON中添加以下内容:
{
  "sysctls": {
    "vm.max_map_count": "262144"
  }
}
  1. 点击Apply & Restart等待Docker重启完成,再启动Elasticsearch容器即可。

方法3:容器级配置(仅当前容器生效)

直接在docker-compose.yml中给Elasticsearch容器添加sysctl配置:

image: elasticsearch:8.9.0
container_name: elasticsearch
hostname: elastic
environment:
  - node.name=elasticsearch
  - cluster.name=es-docker-cluster
  - cluster.initial_master_nodes=elasticsearch
  - bootstrap.memory_lock=true
  - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
ulimits:
  memlock:
    soft: -1
    hard: -1
sysctls:
  - vm.max_map_count=262144
volumes:
  - es-data:/usr/share/elasticsearch/data
ports:
  - ${DC_ELASTIC_HOST_PORT}:${DC_ELASTIC_PORT}

保存配置后重启容器即可。

内容的提问来源于stack exchange,提问作者Timofey Plyasheshnikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:37:31