docker에 solr 배치

docker에 solr 배치


■ 전제 사항


docker와java8은 가져온 ubuntu16.04입니다.
ubuntu에 docker 설치
$ sudo apt-get install docker.io
solr는 오피스를 사용합니다.
공포가 많아서...
https://hub.docker.com/_/solr/
$ sudo docker pull solr
core의 로컬 폴더 만들기
$ sudo mkdir -p /var/solr/cores
$ sudo chown 8983:8983 /var/solr/cores/
※ Solr 용기의 버전이 오래되면 코어의 위치가/opt/solr/server/solr로 바뀔 수 있습니다.
이런 상황에서 아래의 설정은 순조롭지 않다.최신 용기 다시 얻기 (눈물)
$ sudo docker run --name solr -d -p 8983:8983 -v /var/solr/cores:/opt/solr/server/solr/mycores -t solr

■ 웹 시작 확인

http://127.0.0.1:8983/solr/#/

■ 샘플 코어 만들기


호스트 옆에 있는 셸.
$ sudo docker exec -it solr /bin/bash
용기 셸에 있습니다.
테스트를 위한 원가 테스트를 만듭니다.
$ solr create -c test
  • 집행 결과
  • solr@2ce0037aae58:/opt/solr/server/solr/mycores$ solr create -c test
    
    Copying configuration to new core instance directory:
    /opt/solr/server/solr/test
    
    Creating new core 'test' using command:
    http://localhost:8983/solr/admin/cores?action=CREATE&name=test&instanceDir=test
    
    {
      "responseHeader":{
        "status":0,
        "QTime":1286},
      "core":"test"}
    
    복사본 이동
    $ cd /opt/solr/server/solr
    $ mv test mycores
    
    Ctrl+P, Ctrl+Q를 통해 용기에서 잠시 벗어나 solr 용기를 다시 시작합니다
    $ sudo docker restart solr
    
    웹에서도 코어가 생성되었음을 확인할 수 있습니다.

    호스트 측면에도 코어가 있는지 확인
    $ ll
    
    drwxr-xr-x 3 8983 8983 4096  8月 16 23:52 ./
    drwxr-xr-x 3 root root 4096  8月 16 23:30 ../
    drwxr-xr-x 4 8983 8983 4096  8月 16 23:51 test/
    

    로그 폴더도 코어와 마찬가지로 호스트 옆에 볼륨을 마운트하는 것이 좋다고 생각합니다.


    현재 컨테이너 중지 및 삭제
    $ sudo docker stop solr
    $ sudo docker rm solr
    
    로그 폴더 만들기 및 컨테이너 시작
    $ sudo mkdir -p /opt/solr/log
    $ sudo chown 8983:8983 /opt/solr/log
    $ sudo docker run --name solr -d -p 8983:8983 -v /var/solr/cores:/opt/solr/server/solr/mycores -v /opt/solr/log:/opt/solr/server/logs -t solr
    
    docker 용기에서solr를 간단하게 가져올 수 있어 편리합니다.
    또한 코어는 호스트 옆에 있기 때문에 용기를 쉽게 바꾸고solr의 버전을 바꿀 수 있습니다.
    #호환성 테스트 같은 건 쉬워요.
    코어에 설정한 후restart를 반복하면 환경의 구축이 빠릅니다.
    chown8983을 잊어버리면 파일을 못 봐서 오류가 발생할 수 있습니다.
    만약 오류가 발생하면 소유자를 먼저 확인하는 것이 가장 좋다.

    용기의solr로 변경하고 싶을 때


    로그 레벨을 변경하거나 캐시 크기를 변경하는 등 용기 내부의 파일을 변경하려면solr 사용자는 제한이 있는 경우 다음 명령을 통해 루트를 통해 로그인할 수 있습니다.
    sudo docker exec -u root -it solr /bin/bash
    
    commit을 잊지 마세요.

    좋은 웹페이지 즐겨찾기