본문 바로가기
💻 프로젝트/👑 VIP 초대장 💌

[Spring, React] Docker로 Elasticsearch를 실행해보자.

by hyeong._.ing 2026. 5. 1.

 

 

Docker를 통해 ElasticSearch를 설치했다.
이제 본격적으로 Spring에
ElasticSearch를적용해보고자 한다.

 

 

 

 

1. 동작화면

  • GIF

티스토리 동영상 기능 부활시켜줘....

 

  • 이미지

초성만 적었는데
쨔잔! 이렇게 검색이 되었습니다~

 

 

 

 


 

 

 

2. Elasticsearch를 docker로 실행하기

  • 터미널(또는 CMD)에 아래 명령어를 입력한다. 

 

docker network create elasticsearch
Docker network를 만든다. 위의 코드에서 elasticsearch 말고 다른 이름을 넣어도 된다. 

 

  • elasticsearch 이미지 받기
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.18.1

 

  • ElasitcSearch 실행하기_ Container 시작하기
docker run --name es01 \
  --net elastic \
  -p 9200:9200 \
  -m 1GB \
  -e "discovery.type=single-node" \
  -e "ELASTIC_PASSWORD=123456789" \
  -v esdata01:/usr/share/elasticsearch/data \
  -d docker.elastic.co/elasticsearch/elasticsearch:8.18.1
es01 부분에 다른 이름을 넣으면 그 이름이 컨테이너 이름이 된다. 비밀번호는 잘 기억해두자.

 

  • 컨테이너 확인
docker ps

이렇게 뜬다!

 

  • http_ca.crt 인증서 꺼내기
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
Elasticsearch 8.x는 기본적으로 HTTPS 보안 연결을 사용해야한다. 그래서 Spring이 Elasticsearch를 믿을 수 있도록 http_ca.crt 인증서를 가져와야 한다. 

 

  • Elasticsearch 접속 테스트
curl --cacert http_ca.crt -u elastic:123456789 https://localhost:9200
성공하면 이런 JSON이 나온다.
{ "name" : "es01",
"cluster_name" : "docker-cluster",
"version" : { "number" : "8.18.1" },
"tagline" : "You Know, for Search" }

 

  • Spring에 인증서 넣기

 

  • build.gradle 추가
    아래 코드를 추가한다.
implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'

 

  • application.properties 설정
# Elasticsearch
spring.elasticsearch.uris=https://localhost:9200
spring.elasticsearch.username=elastic
spring.elasticsearch.password=123456789

# Elasticsearch CA 인증서
spring.ssl.bundle.pem.es-ca.truststore.certificate=classpath:http_ca.crt
spring.elasticsearch.restclient.ssl.bundle=es-ca

 

이렇게 하면 elasticsearch를 사용하기 위한 기초 단계는 모두 완료되었다.