version: '3' services: elasticsearch: image: elasticsearch:8.15.1 container_name: elasticsearch ports: - "9200:9200" - "9300:9300" volumes: - test_data:/usr/share/elasticsearch/data/ - ./elk-config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - discovery.type=single-node - http.host=0.0.0.0 - transport.host=0.0.0.0 - xpack.security.enabled=false - cluster.name=elasticsearch - bootstrap.memory_lock=true networks: - elk logstash: image: logstash:8.15.1 container_name: logstash ports: - "5044:5044" - "9600:9600" volumes: - ./elk-config/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf - ./elk-config/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml - ls_data:/usr/share/logstash/data networks: - elk depends_on: - elasticsearch kibana: image: kibana:8.15.1 container_name: kibana ports: - "5601:5601" volumes: - ./elk-config/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml - kb_data:/usr/share/kibana/data networks: - elk depends_on: - elasticsearch networks: elk: driver: bridge volumes: test_data: ls_data: kb_data: