cho*_*ovy 6 elasticsearch docker docker-compose
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}
Run Code Online (Sandbox Code Playgroud)
我从某个地方复制了这个,但是我所有的elasticsearch容器都堵塞了CPU。
Docker Compose 文档建议设置deploy.resources.limits
限制 CPU 和内存使用。这是 Docker Compose 规范第 3 版的新增内容,似乎特定于使用 Docker swarm。请参阅下面的使用规范版本 2 的方法,该方法并非特定于 swarm。
---
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"
Run Code Online (Sandbox Code Playgroud)
对于Docker Compose 规范的版本 2,您可以使用以下内容(摘自文档):
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7869 次 |
最近记录: |