I am trying to manage log using ELK in a Spring Boot project on Windows System. Project hierarchy is given blow.
Code in docker-compose.yml
version: '2.20.4'
services:
Elasticsearch:
image: elasticsearch:7.16.2
container_name: elasticsearch
restart: always
volumes:
- elastic_data:/usr/share/elasticsearch/data/
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
discovery.type: single-node
ports:
- '9200:9200'
- '9300:9300'
networks:
- elk
Logstash:
image: logstash:7.16.2
container_name: logstash
restart: always
volumes:
- ./logstash/config/logstash.yml:/dc-demo-main/logstash/config/logstash.yml:ro
- ./logstash/pipeline:/dc-demo-main/logstash/pipeline:ro
command: logstash -f /dc-demo-main/logstash/logstash.conf
depends_on:
- Elasticsearch
ports:
- '9600:9600'
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
Kibana:
image: kibana:7.16.2
container_name: kibana
restart: always
ports:
- '5601:5601'
environment:
- ELASTICSEARCH_URL=http://elasticsearch:9200
depends_on:
- Elasticsearch
networks:
- elk
volumes:
elastic_data: {}
networks:
elk:
logstash.conf
input{
file{
path => "C:/ELK_Logs/elk-stack.log"
start_position => "beginning"
}
}
output{
stdout{
codec=>rubydebug
}
elasticsearch{
hosts => ["http://elasticsearch:9200"]
}
}
logstash.yml
http.host: "0.0.0.0"
path.config: /dc-demo-main/logstash/pipeline
xpack.monitoring.elasticsearch.hosts: [ "localhost:9200" ]
On Elastic Search dashboard log is not getting populated
When trying to create index in logstash.conf file index is also not getting created. when I am trying o search under http://localhost:9200/_cat/indices


Please check the official documents:
Directory Layout for Docker Images
So default path for conf file will be: /usr/share/logstash/pipeline But your command is looking for it under /dc-demo-main/logstash/logstash.conf
I think this is worth to give it a try.
Here is a similar example: DOCKER - ELK 7.6 : ELASTIC STACK WITH DOCKER COMPOSE