-
Docker 공식 이미지 사용하기 : ElasticSearchContainer 2016. 4. 13. 09:00오픈 소스 검색엔진인 엘라스틱서치(elasticsearch) 역시 공식 docker 이미지를 가지고 있다. 아래 명령으로 간단하게 엘라스틱서치를 실행할 수 있다.docker run --rm -ti -p 9200:9200 elasticsearch:1.7엘라스틱서치는 REST API를 통해서 명령을 실행한다. 간단한 curl 명령을 통해서 엘라스틱서치가 실행됐는지 아래처럼 확인할 수 있다.curl 192.168.123.103:9200{"status" : 200,"name" : "Scott Summers","cluster_name" : "elasticsearch","version" : {"number" : "1.7.3","build_hash" : "05d4530971ef0ea46d0f4fa6ee64dbc8df659682","build_timestamp" : "2015-10-15T09:14:17Z","build_snapshot" : false,"lucene_version" : "4.10.4"},"tagline" : "You Know, for Search"}엘라스틱서치 1.7.3이 실행된걸 알 수 있다. 엘라스틱서치 기본 이미지에는 별다른 관리도구가 설치되어 있지 않다. 엘라스틱서치를 관리하기위해 많이 사용되는 플러그인인 head를 추가한 이미지를 만들어 보자.아래 처럼 Dockerfile을 작성하고 이미지를 빌드하면 된다.FROM elasticsearchRUN /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-headdocker build --tag elasticsearch:head .새로 만든 이미지를 실행하면 head 플러그인이 잘 떠 있는걸 확인할 수 있다. 필요한 플러그인이 있이면 같은 요령으로 plugin install을 통해서 추가해서 설치해 주면 된다.docker run --rm -ti -p 9200:9200 -p 9300:9300 elasticsearch:head엘라스틱서치는 여러대의 장비를 이용해서 클러스터를 구성해서 실행할 수 있다. Docker를 이용해서 테스트용으로 하나의 호스트에서 여러개의 엘라스틱서치를 실행해서 엘라스틱서치 클러스터를 구성해 볼 수 있다. 엘라스틱서치는 같은 네트워크 상에 있는 프로세스를 자동으로 찾아주기 때문에 포트만 다르게해서 docker 이미지를 실행하기만 하면 된다.docker run --rm -ti -p 9201:9200 -p 9301:9300 elasticsearch:headdocker run --rm -ti -p 9202:9200 -p 9302:9300 elasticsearch:headdocker run --rm -ti -p 9203:9200 -p 9303:9300 elasticsearch:headhead를 웹브라우저에서 확인해보면 노드가 3개가 떠있는걸 확인할 수 있다.엘라스틱 서치에 있는 데이터를 시각화해서 보여주는 키바나(kibana)라는 강력한 애플리케이션이 있다. 키바나 역시 docker를 이용해서 간단하게 기존 엘라스틱서치에 붙여서 사용할 수 있다.docker run --rm -ti -p 5601:5601 -e ELASTICSEARCH_URL=http://192.168.123.103:9201 kibana:4.0
'Container' 카테고리의 다른 글
Google Container Engine (1) 2016.04.18 Docker 컨테이너 모니터링 (0) 2016.04.15 Docker 공식 이미지 사용하기 : 젠킨스 (0) 2016.04.11 Docker 공식 이미지 사용하기 : Redis (0) 2016.04.08 Docker 볼륨 사용하기 (1) 2016.04.06 댓글