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등이 있어요.