ElasticSearch 로컬환경 구성 with Docker

ElasticSearch 로컬환경 구성 with Docker

Aug 29, 2019    

엘라스틱 공식 도커 이미지의 가이드를 따라해보자.

도커 이미지 가져오기

현재 사내에서 사용하는 버전이 6.7.x 이기때문에 6.7.2 버전을 받았다. 6.4.0 이전의 이미지는 docker.elastic.co에서 받을 수 있다.

$ docker pull elasticsearch:6.7.2

Docker 네트워크 구성

별도의 도커 네트워크를 구성한다. 나중에 Kibana를 추가할 수도 있기때문에.

$ docker network create es-network

ElasticSearch 컨테이너 구동

위에서 생성한 네트워크를 추가하여 컨테이너를 구동한다. 포트는 엘라스틱서치(9200)와 키바나(9300) 포트를 매핑한다.

$ docker run -d --name elasticsearch --net es-network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.7.2

구성 확인하기

터미널에서 curl을 이용하여 엘라스틱서치 엔드포인트를 호출해보자. 엘라스틱서치는 REST API를 제공하기 때문에 별도의 클라이언트 툴을 사용할 필요가 없다. 그럼 아래와 같이 클러스터 정보를 응답한다.

$ curl -i localhost:9200
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 497

{
  "name" : "FR7oNSG",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "-G0rR-tHSkywkgTNVTmWEw",
  "version" : {
    "number" : "6.7.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "56c6e48",
    "build_date" : "2019-04-29T09:05:50.290371Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}