首页 > 解决方案 > 尝试在 Windows 10 上的 Docker Desktop 上运行 Elasticsearch 容器时如何解决“...内存未锁定”?

问题描述

我正在尝试在 Windows 上使用 Elasticsearch 运行 docker 容器。docker-compose.yml 文件包含以下部分:

services:
  elasticsearch:
    image: elasticsearch:$ELK_VERSION
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/elasticsearch:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - elk

在尝试运行容器时,终端会记录一个错误:

错误:[1] 引导检查失败

[1]:elasticsearch进程请求内存锁定但内存未锁定

如何解决这个错误?我究竟做错了什么?

标签: windowsdockerelasticsearch

解决方案


在 Windows 上,您可能必须配置VirtualLock才能bootstrap.memory_lock=true工作并通过引导检查。


推荐阅读