elasticsearch,docker-compose,Docker,elasticsearch,Docker Compose" /> elasticsearch,docker-compose,Docker,elasticsearch,Docker Compose" />

如何在docker中限制elasticsearch cpu和内存使用?

如何在docker中限制elasticsearch cpu和内存使用?,docker,elasticsearch,docker-compose,Docker,elasticsearch,Docker Compose,我从某个地方复制了这个,但是我所有的elasticsearch容器都阻塞了cpu。建议设置deploy.resources.limits来限制cpu和内存的使用。这是Docker Compose规范第3版的新版本,似乎专门针对Docker swarm的使用。请参阅下面使用规范第2版的方法,该方法不是swarm特有的 es01: env_file: .env image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2

我从某个地方复制了这个,但是我所有的elasticsearch容器都阻塞了cpu。

建议设置
deploy.resources.limits
来限制cpu和内存的使用。这是Docker Compose规范第3版的新版本,似乎专门针对Docker swarm的使用。请参阅下面使用规范第2版的方法,该方法不是swarm特有的

  es01:
    env_file: .env
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
    container_name: ${DOCKER_CONTAINER_ES_NAME}
    restart: always
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - cluster.initial_master_nodes=es01
      - bootstrap.memory_lock=true
      - action.auto_create_index=+*
      - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data01:/usr/share/elasticsearch/data
    ports:
      - 127.0.0.1:${DOCKER_CONTAINER_ES_PORT}:9200
    networks:
      - ${DOCKER_NETWORK_NAME}
使用,您可以使用以下内容(摘自文档):


警告:某些服务(es01)使用“部署”键,该键将被忽略。Compose不支持“部署”配置-使用
docker stack deploy`部署到swarm。`好的--在这种情况下,您可以尝试设置版本2密钥吗?如
cpu\u百分比:50
mem\u限制:100000000
。这些选项类似于如何添加到docker-compose.yml?
--- 
es01: 
  container_name: "${DOCKER_CONTAINER_ES_NAME}"
  env_file: .env
  environment: 
    - node.name=es01
    - cluster.name=es-docker-cluster
    - cluster.initial_master_nodes=es01
    - bootstrap.memory_lock=true
    - action.auto_create_index=+*
    - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
  image: "docker.elastic.co/elasticsearch/elasticsearch:7.6.2"
  networks: 
    - "${DOCKER_NETWORK_NAME}"
  ports: 
    - "127.0.0.1:${DOCKER_CONTAINER_ES_PORT}:9200"
  deploy:
    resources: 
      limits: 
        cpus: "0.50"  # Use at most 50% of one CPU core
        memory: 50M  # Use at most 50 MB of RAM
  restart: always
  ulimits: 
    memlock: 
      hard: -1
      soft: -1
    nofile: 
      hard: 65535
      soft: 65535
    nproc: 65535
  volumes: 
    - "./data01:/usr/share/elasticsearch/data"
cpu_count: 2
cpu_percent: 50
cpus: 0.5
cpu_shares: 73
cpu_quota: 50000
cpu_period: 20ms
cpuset: 0,1

mem_limit: 1000000000
memswap_limit: 2000000000
mem_reservation: 512m