Apache Solr Docker 배포

Apache Solr Docker 배포 (Solr in Docker)

Solr은 공식 Docker 이미지를 제공해서 도커 환경에서 쉽게 실행할 수 있어요. 단일 노드부터 SolrCloud 클러스터까지, 도커 컴포즈와 네트워크 설정으로 유연하게 배포할 수 있어요.

공식 이미지가 제공하는 편의성 덕분에, 로컬 개발에서 바로 시작하고 프로덕션 SolrCloud와 같은 구조까지 동일한 이미지로 확장할 수 있어요.

출처: https://solr.apache.org/guide/solr/latest/deployment-guide/solr-in-docker.html

단일 노드 실행

공식 이미지에서 Solr을 단일 노드로 실행해요.

docker run -d -p 8983:8983 --name my_solr solr:10-slim

볼륨을 마운트해서 데이터를 유지하려면:

docker run -d -p 8983:8983 -v "$PWD/mydata":/var/solr --name my_solr solr:10-slim

컬렉션을 만들고 싶으면 solr-create 명령을 써요.

docker run --rm -p 8983:8983 --name my_solr \
  solr:10-slim solr-create -c techproducts

관리 UI

컨테이너가 떠 있으면 브라우저에서 http://localhost:8983/solr/ 로 관리 UI에 접속할 수 있어요. SolrCloud 모드로 띄우면 http://localhost:8983/solr/#/~cloud 로 클러스터 상태를 볼 수 있어요.

Docker compose로 SolrCloud 구성

여러 노드를 도커 컴포즈로 묶어 SolrCloud 클러스터를 만들 수 있어요. Zookeeper를 함께 띄우고 각 노드를 클라우드 모드로 연결하는 방식이에요. 이미지에 포함된 스크립트가 Zookeeper와의 연결·컬렉션 생성을 도와줘요.

services:
  solr:
    image: solr:10-slim
    ports:
      - "8983:8983"
    volumes:
      - ./mydata:/var/solr
    command:
      - solr-precreate
      - techproducts

주요 포인트

  • Docker 이미지는 /var/solr 을 데이터·설정 기본 경로로 사용해요.
  • 볼륨으로 /var/solr을 마운트하면 컨테이너 재시작에도 데이터가 유지돼요.
  • solr-precreate는 컨테이너 시작 시 컬렉션을 자동 생성하는 진입점 스크립트예요.
  • 이미지 태그는 solr:latest, solr:10-slim 등이 있어요.

더 알아보기