如何在docker中限制elasticsearch cpu和内存使用?
我从某个地方复制了这个,但是我所有的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
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