Docker Compose를 이용해 ElasticSearch와 Kibana를 간단히 실행해보겠다.
ElasticSearch와 kibana 실행을 위한 docker-compose.yml 파일
docker-compose.yml 파일을 다음과 같이 만들어준다.
version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0 container_name: es01 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" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0 container_name: es02 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" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data ports: - 9201:9201 networks: - elastic es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0 container_name: es03 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" ulimits: memlock: soft: -1 hard: -1 volumes: - data03:/usr/share/elasticsearch/data ports: - 9202:9202 networks: - elastic kib01: image: docker.elastic.co/kibana/kibana:7.7.0 container_name: kib01 ports: - 5601:5601 environment: ELASTICSEARCH_URL: http://es01:9200 ELASTICSEARCH_HOSTS: http://es01:9200 networks: - elastic volumes: data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge
docker-compose 실행
앞서 만든 docker-compose.yml 파일로 docker 컨테이너들을 생성한다.
docker-compose up
ElasticSearch 노드들과 Kibana가 정상적으로 실행된 경우 다음과 같이 확인 할 수 있다.
ElasticSearch 사이트 접속
http://localhost:9200
ElasticSearch 노드 정보 확인
curl -X GET "localhost:9200/_cat/nodes?v&pretty"
Kiabana 사이트 접속
http://localhost:5601
참고