elastic search를 Docker에 띄우자우자
docker run -rm -tid
DockerFile 빌드 명령어
docker build --tag elasticsearch:head .
실행 명령어
docker run --rm -ti -p 9201:9300 elasticsearch:head
docker run --rm -tid --name es-head -p 9200:9200 -p 9301:9300 elasticsearch:head
docker run --name kibana -e ELASTICSEARCH_URL=http://220.230.115.69:9200 -p 5601:5601 -d kibana:4.0
docker exec 2b82b2a5da94 ls -al /
Elastic Search 경로
/usr/share/elasticsearch/
컨테이너가 실행된 상태에서 빠져나오기
ctrl + p, ctrl + q
엘라스틱 서치 폴더 구조
root@182861a35260:/usr/share/elasticsearch# ls -al
total 24
drwxr-xr-x 8 root root 113 Jul 19 03:45 .
drwxr-xr-x 51 root root 4096 Jul 19 03:45 ..
-rw-r--r-- 5 root root 150 Nov 18 2016 NOTICE.txt
-rw-r--r-- 5 root root 8700 Nov 18 2016 README.textile
drwxr-xr-x 2 root root 65 Jul 19 07:56 bin
drwxr-xr-x 3 elasticsearch elasticsearch 38 Jul 19 07:56 config
drwxr-xr-x 2 elasticsearch elasticsearch 6 Jul 19 09:02 data
drwxr-xr-x 3 root root 4096 Jul 19 07:56 lib
drwxr-xr-x 2 elasticsearch elasticsearch 6 May 16 20:22 logs
drwxr-xr-x 3 elasticsearch elasticsearch 17 Jul 19 07:56 plugins
bin
plugin 파일은 플러그인을 설치하기 위한 실행 파일이다
# ls bin/
total 16
drwxr-xr-x 2 root root 65 Jul 19 07:56 .
drwxr-xr-x 8 root root 113 Jul 19 03:45 ..
-rwxr-xr-x 5 root root 8115 Nov 18 2016 elasticsearch
-rwxr-xr-x 5 root root 2171 Nov 18 2016 elasticsearch.in.sh
-rwxr-xr-x 5 root root 2579 Nov 18 2016 plugin
config
환경 설정 파일들이 들어있다.
# ls -al config/
total 4
drwxr-xr-x 3 elasticsearch elasticsearch 38 Jul 19 07:56 .
drwxr-xr-x 8 root root 113 Jul 19 03:45 ..
-rw-rw-r-- 3 root root 469 May 16 20:20 logging.yml
drwxr-xr-x 2 elasticsearch elasticsearch 6 May 16 20:22 scripts
lib
# ls -al lib/
total 29200
drwxr-xr-x 3 root root 4096 Jul 19 07:56 .
drwxr-xr-x 8 root root 113 Jul 19 03:45 ..
-rw-r--r-- 5 root root 167735 Nov 18 2016 antlr-runtime-3.5.jar
-rw-r--r-- 5 root root 448794 Nov 18 2016 apache-log4j-extras-1.2.17.jar
-rw-r--r-- 5 root root 47359 Nov 18 2016 asm-4.1.jar
-rw-r--r-- 5 root root 38090 Nov 18 2016 asm-commons-4.1.jar
-rw-r--r-- 5 root root 14040702 Nov 18 2016 elasticsearch-1.7.6.jar
-rw-r--r-- 5 root root 6998724 Nov 18 2016 groovy-all-2.4.4.jar
-rw-r--r-- 5 root root 914597 Nov 18 2016 jna-4.1.0.jar
-rw-r--r-- 5 root root 794991 Nov 18 2016 jts-1.13.jar
-rw-r--r-- 5 root root 489884 Nov 18 2016 log4j-1.2.17.jar
-rw-r--r-- 5 root root 1699875 Nov 18 2016 lucene-analyzers-common-4.10.4.jar
-rw-r--r-- 5 root root 2563490 Nov 18 2016 lucene-core-4.10.4.jar
-rw-r--r-- 5 root root 75491 Nov 18 2016 lucene-expressions-4.10.4.jar
-rw-r--r-- 5 root root 107784 Nov 18 2016 lucene-grouping-4.10.4.jar
-rw-r--r-- 5 root root 138282 Nov 18 2016 lucene-highlighter-4.10.4.jar
-rw-r--r-- 5 root root 64021 Nov 18 2016 lucene-join-4.10.4.jar
-rw-r--r-- 5 root root 36078 Nov 18 2016 lucene-memory-4.10.4.jar
-rw-r--r-- 5 root root 97173 Nov 18 2016 lucene-misc-4.10.4.jar
-rw-r--r-- 5 root root 213029 Nov 18 2016 lucene-queries-4.10.4.jar
-rw-r--r-- 5 root root 391515 Nov 18 2016 lucene-queryparser-4.10.4.jar
-rw-r--r-- 5 root root 119449 Nov 18 2016 lucene-sandbox-4.10.4.jar
-rw-r--r-- 5 root root 126794 Nov 18 2016 lucene-spatial-4.10.4.jar
-rw-r--r-- 5 root root 179011 Nov 18 2016 lucene-suggest-4.10.4.jar
drwxr-xr-x 2 root root 115 Jul 19 07:56 sigar
-rw-r--r-- 5 root root 102177 Nov 18 2016 spatial4j-0.4.1.jar
도커에서 실행중인 elastic search 프로세스 확인
$ docker exec 9b2d15aad97d ps -ef
UID PID PPID C STIME TTY TIME CMD
elastic+ 1 0 0 08:44 ? 00:00:11 /docker-java-home/jre/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Delasticsearch -Des.foreground=yes -Des.path.home=/usr/share/elasticsearch -cp :/usr/share/elasticsearch/lib/elasticsearch-1.7.6.jar:/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/lib/sigar/* org.elasticsearch.bootstrap.Elasticsearch
cp 명령으로 파일 꺼내기
hello-nginx컨테이너에서 파일을 꺼내보겠습니다.
$ sudo docker cp hello-nginx:/etc/nginx/nginx.conf ./
docker cp <컨테이너 이름>:<경로><호스트 경로>형식입니다.
현재 디렉터리에nginx.conf파일이 복사되었습니다.
commit 명령으로 컨테이너의 변경사항을 이미지로 생성하기
docker commit
명령은 컨테이너의 변경 사항을 이미지 파일로 생성합니다.
hello-nginx컨테이너 안의 파일 내용이 바뀌었다고 치고, 컨테이너를 이미지 파일로 생성해보겠습니다.
$ sudo docker commit -a "Foo Bar <[email protected]>" -m "add hello.txt" hello-nginx hello:0.2
참고 : https://hub.docker.com/_/kibana/
http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter05