Where the configuration is stored elasticsearch in docker container

Hi
I'm trying to understand where is stored configuration when I've created node by docker compose? It was set only as environment variable?
an example my config:

 es_data_hdd_9_1:
    image: pri_rep/elk-docker/elasticsearch/elasticsearch:8.1.0

    container_name: es_data_hdd_9_1
    environment:
      - node.name=es_data_hdd_9_1
      - xpack.ml.enabled=false
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=false
      - xpack.security.http.ssl.key=certs/es_data_hdd_9_1/es_data_hdd_9_1.key
      - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.http.ssl.certificate=certs/es_data_hdd_9_1/es_data_hdd_9_1.crt
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.license.self_generated.type=basic
      - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.transport.ssl.certificate=certs/es_data_hdd_9_1/es_data_hdd_9_1.crt
      - xpack.security.transport.ssl.key=certs/es_data_hdd_9_1/es_data_hdd_9_1.key
      - ELASTIC_USERNAME=elastic
      - ELASTIC_PASSWORD=
      - cluster.name=elk_cluster
      - discovery.seed_hosts=es_master_1_1,es_master_2_1,es_master_1_2,es_master_2_2,es_master_1_3,es_master_2_3,es_data_ssd_3_1_ingest,es_data_ssd_1_1,es_data_ssd_2_1,es_data_ssd_3_1,es_data_ssd_4_1
      - cluster.initial_master_nodes=es_master_1_1,es_master_2_1,es_master_1_2,es_master_2_2,es_master_1_3,es_master_2_3
      - bootstrap.memory_lock=true
      - ingest.geoip.downloader.enabled=false
      - node.roles=data_cold

I've already checked more ./usr/share/elasticsearch/config/elasticsearch.yml
but this is not that place....

more elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0

also when I'm checking in dev tool over GET /_cluster/settings
I got

{
  "persistent" : { },
  "transient" : { }
}

This forum is dedicated to the ECK operator so you maybe not the best place for your docker-compose question.

But any configuration you apply via environment variables will be picked up by the Elasticsearch process. They will not be replicated into one of the configuration files and they are also not part of the API based _cluster/settings.
If you want to check whether a setting you configured has taken or not you can check the log files or in some cases there are dedicated APIs like for example for the certificate settings you can check SSL certificate API | Elasticsearch Guide [8.1] | Elastic

Hope this help.s

Yeap, in container I've already found by printenv command

:open_mouth: So _cluster/settings is not authoritative? Is it just basically: These settings may or may not be correct, likely they are not ... but they may be ...

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.