elasticsearch/docker-compose.yml
2025-02-18 15:29:51 +03:00

144 lines
4.7 KiB
YAML

version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0
container_name: es01
restart: always
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx
- xpack.security.enabled=true
- xpack.security.transport.ssl.enabled=true
- xpack.security.transport.ssl.verification_mode=certificate
- xpack.security.transport.ssl.certificate_authorities=${CERTS_DIR}/ca/ca.crt
- xpack.security.transport.ssl.certificate=${CERTS_DIR}/es01/es01.crt
- xpack.security.transport.ssl.key=${CERTS_DIR}/es01/es01.key
# - reindex.remote.whitelist=["172.20.110.204:9200"]
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es-data01:/usr/share/elasticsearch/data:z
- es-certs:${CERTS_DIR}:z
# - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw
ports:
- 172.20.64.140:9200:9200
healthcheck:
test: curl --cacert ${CERTS_DIR}/ca/ca.crt -s https://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
interval: 30s
timeout: 10s
retries: 5
networks:
- portal_qa
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0
container_name: es02
restart: always
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx
- xpack.security.enabled=true
- xpack.security.transport.ssl.enabled=true
- xpack.security.transport.ssl.verification_mode=certificate
- xpack.security.transport.ssl.certificate_authorities=${CERTS_DIR}/ca/ca.crt
- xpack.security.transport.ssl.certificate=${CERTS_DIR}/es02/es02.crt
- xpack.security.transport.ssl.key=${CERTS_DIR}/es02/es02.key
#- reindex.remote.whitelist=["172.20.110.204:9200"]
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es-data02:/usr/share/elasticsearch/data:z
- es-certs:${CERTS_DIR}:z
# - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw
networks:
- portal_qa
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0
container_name: es03
restart: always
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- ELASTIC_PASSWORD=xW8DTQG69Zrxy7hx
- xpack.security.enabled=true
- xpack.security.transport.ssl.enabled=true
- xpack.security.transport.ssl.verification_mode=certificate
- xpack.security.transport.ssl.certificate_authorities=${CERTS_DIR}/ca/ca.crt
- xpack.security.transport.ssl.certificate=${CERTS_DIR}/es03/es03.crt
- xpack.security.transport.ssl.key=${CERTS_DIR}/es03/es03.key
# - reindex.remote.whitelist=["172.20.110.204:9200"]
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es-data03:/usr/share/elasticsearch/data:z
- es-certs:${CERTS_DIR}:z
# - instances.yml:/usr/share/elasticsearch/config/elasticsearch.yaml:rw
networks:
- portal_qa
kibana:
image: docker.elastic.co/kibana/kibana:7.8.0
container_name: kibana
restart: always
environment:
SERVER_NAME: kibana.development
ELASTICSEARCH_HOSTS: '["http://es01:9200"]'
ELASTICSEARCH_URL: http://es01:9200
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_PASSWORD: xW8DTQG69Zrxy7hx
ports:
- "172.20.64.140:5601:5601"
networks:
- portal_qa
depends_on:
- es01
volumes:
es-data01:
driver: local
driver_opts:
o: bind
type: none
device: /data/container_volumes/es-data01
es-data02:
driver: local
driver_opts:
o: bind
type: none
device: /data/container_volumes/es-data02
es-data03:
driver: local
driver_opts:
o: bind
type: none
device: /data/container_volumes/es-data03
es-certs:
driver: local
driver_opts:
o: bind
type: none
device: /data/container_volumes/es-certs
networks:
portal_qa:
external: true