본문 바로가기

IT/docker

elastic search

  • http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter02

    $ sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    $ sudo yum install docker-io
  • sudo 입력하지 않기

    $ sudo su
     
    $ sudo usermod -aG docker 계정
    $ sudo service docker restart
  • 레디스 컨테이너 실행

    docker run --name es-broker -d -p 6379:6379 redis redis-server --appendonly yes
  • 실행된 컨테이너에 쉘 접속하기 

    docker exec -it "id of running container" bash
  • 레디스 접속해 보기

    docker run -it --link es-broker:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'



  •  troubleshooting

    • 아래와 같은 에러로 docker 가 실행되지 않을 때는
      
      docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
      아래와 같은 명령어로 해결
      
      $ sudo yum update device-mapper


       
      

 

이미지 및 컨테이너 설치 및 실행

 

  • oracle-jvm 설치
     

    oracle-jvm install
    FROM centos:centos7
    MAINTAINER sunghyun metdoloca
    # update repo
    RUN yum update -y
    # install jdk then remove the rpm
    RUN yum install -y wget && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm
    RUN rpm -ivh jdk-8u40-linux-x64.rpm && rm jdk-8u40-linux-x64.rpm
    # set JAVA_HOME
    ENV JAVA_HOME /usr/java/jdk1.8.0_40
    # install unzip
    RUN yum install unzip -y
  • Elastic Search 설치 스크립트 
     

    elastic search
    # 최신 버전 oracle java 로 부터
    FROM oracle-jvm:1.0
    MAINTAINER sunghyun metdoloca
    #
    # Elasticsearch Dockerfile
    #
    #
    # Pull base image.
    ENV ES_PKG_NAME elasticsearch-1.5.1
    RUN yum install -y tar
    # Install Elasticsearch.
    RUN \
     cd / && \
     wget https://download.elasticsearch.org/elasticsearch/elasticsearch/$ES_PKG_NAME.tar.gz && \
    /bin/tar xvzf $ES_PKG_NAME.tar.gz && \
     rm -f $ES_PKG_NAME.tar.gz && \
     mv /$ES_PKG_NAME /elasticsearch
    # Define mountable directories.
    VOLUME ["/data"]
    # Mount elasticsearch.yml config
    ADD config/elasticsearch.yml /elasticsearch/config/elasticsearch.yml
    # Define working directory.
    WORKDIR /data
    # Define default command.
    CMD ["/elasticsearch/bin/elasticsearch"]
    # plugin
    CMD ["/elasticsearch/bin/plugin --install mobz/elasticsearch-head"]
    # Expose ports.
    # - 9200: HTTP
    # - 9300: transport
    EXPOSE 9200
    EXPOSE 9300
    Icon

    elasticsearch image 생성시 Dockerfile 이 있는 폴더에서 config 폴더를 만들고 그 폴더에 아래의 내용을 입력하고 저장

    elasticsearch.yml
    path:
    data: /data/data
    logs: /data/log
    plugins: /data/plugins
    work: /data/work



  • Kibana 설치 스크립트

    kibana
    FROM ubuntu:latest
    ENV KIBANA_VERSION 4.0.2-linux-x64
    # Install Kibana
    RUN \
      cd /opt && \
      apt-get -y install tar && \
      apt-get -y install wget && \
      wget https://download.elasticsearch.org/kibana/kibana/kibana-$KIBANA_VERSION.tar.gz && \
      tar xvzf kibana-$KIBANA_VERSION.tar.gz && \
      rm -f kibana-$KIBANA_VERSION.tar.gz && \
      ln -s /opt/kibana-$KIBANA_VERSION /opt/kibana &&\
      cd /opt/kibana/bin
    # Mount kibana.yml config
    ADD config/kibana.yml /opt/kibana/config/kibana.yml
     
    # Define default command.
    WORkDIR opt/kibana/bin
    CMD ["./kibana"]
    EXPOSE 5601



  • Dockerfile 로 이미지 만들기

    oracle-jvm install
    docker build --tag oracle-jvm:1.0 .     # 마지막 . 은 현재 디렉토리 Dockerfile 을 읽는다.



  • 만들어진 이미지로 컨테이너 생성 및 실행 

    run
    docker run -d -p 9200:9200 --restart=always -p 9300:9300 --name esNode01 elasticsearch:1.5.1                        # 왼쪽이 외부에 오픈할 포트, 오른쪽은 컨테이너 내부의 가상 포트
    docker run -d -p 5601:5601 --name kibana kibana:4.0.2
    ###################################################################################
    docker build -t guutara/kibana4-b2 .
    sudo docker run -d --restart=always -p 5601:5601 --name kibana4 guutara/kibana4-b2 -e http://172.16.1.76:9200 # 키바나 버그로 인해 베타로 실행

 

 


'IT > docker' 카테고리의 다른 글

Hadoop을 Docker로 셋팅해서 테스트  (0) 2017.09.01
도커 centos 사용시 한글 표현 안될때  (0) 2015.11.22
Gitlab docker 설치  (0) 2015.11.19
elk 셋팅  (0) 2015.09.24