docker-compose.yml

##made by hsj 2020.12.9
version: '3'
services:
        elasticsearch:
                image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
                environment:
                        - discovery.type=single-node
                ports:
                        - "9200:9200"
                        - "9300:9300"
                logging:
                        options:
                                max-size : "100m"
                                max-file : "5"
                container_name: elk-e
        kibana:
                image: docker.elastic.co/kibana/kibana:7.6.2
                logging:
                        options:
                                max-size : "100m"
                                max-file : "5"
                ports:
                        - "5601:5601"
                container_name: elk-k

        logstash:
                image: docker.elastic.co/logstash/logstash:7.6.2
                logging:
                        options:
                                max-size : "100m"
                                max-file : "5"
                ports:
                        - "5044-5049:5044-5049"
                user: root
                container_name: elk-l

특이사항:

kibana, logstash 에서 엘라스틱서치 호스트 경로를 참조할때 elk-e 로 해놓았기 때문에 컨테이너 이름이 저런것

로그가 생각보다 폭발하기 때문에 지우는 로직이나 크기제한이 중요

로그스태시가 데이터를 쓸때 루트권한을 필요로 하기때문에 user: root 이 필요하다