Docker Compose로 Elasticsearch 설치

원본 보기

Docker Compose로 Elasticsearch 설치

Docker Compose를 사용하여 Kibana가 포함된 3노드 Elasticsearch 클러스터를 시작합니다. Docker Compose를 사용하면 단일 명령어로 여러 컨테이너를 시작할 수 있습니다.

보안을 강화하려면 강화된 Wolfi 이미지를 사용할 수도 있습니다. Wolfi 이미지를 사용하려면 Docker 버전 20.10.10 이상이 필요합니다.

Wolfi 이미지를 사용하려면 Docker 명령어의 이미지 태그에 -wolfi를 추가합니다.

예:

docker pull docker.elastic.co/elasticsearch/elasticsearch-wolfi:9.5.1
		
docker pull docker.elastic.co/elasticsearch/elasticsearch-wolfi:<SPECIFIC.VERSION.NUMBER>
		

<SPECIFIC.VERSION.NUMBER>를 원하는 버전 번호로 바꾸면 특정 버전의 Elastic Stack을 다운로드하여 설치할 수 있습니다. 예를 들어 <SPECIFIC.VERSION.NUMBER>를 9.0.0으로 바꿀 수 있습니다.

  1. Docker Compose를 설치합니다. 해당 환경에 Docker Compose를 설치하려면 Docker Compose 문서를 참조하세요.

    Docker Desktop을 사용하는 경우 Docker Compose가 자동으로 설치됩니다. Docker Desktop에 최소 4GB의 메모리를 할당해야 합니다. Settings > Resources로 이동하여 Docker Desktop의 메모리 사용량을 조정할 수 있습니다.

    참고

    이 가이드에서는 기존 docker-compose 명령어를 사용합니다. Docker Compose가 Docker CLI 플러그인으로 설치된 경우 docker-composedocker compose로 바꾸세요.

  2. 프로젝트에 사용할 빈 디렉터리를 만들거나 해당 디렉터리로 이동합니다.

  3. 다음 파일을 다운로드하여 프로젝트 디렉터리에 저장합니다.

  4. .env 파일에서 ELASTIC_PASSWORDKIBANA_PASSWORD 변수의 비밀번호를 지정합니다.

    비밀번호는 6자 이상의 영숫자여야 하며 ! 또는 @ 등의 특수 문자를 포함할 수 없습니다. docker-compose.yml 파일에 포함된 bash 스크립트는 영숫자로만 작동합니다. 예:

    # Password for the 'elastic' user (at least 6 characters)
    ELASTIC_PASSWORD=changeme
    
    # Password for the 'kibana_system' user (at least 6 characters)
    KIBANA_PASSWORD=changeme
    ...
    		
  5. .env 파일을 편집하여 STACK_VERSION을 설정합니다.

    스택 버전을 현재 Elastic Stack 버전으로 설정합니다.

    ...
    # Version of Elastic products
    STACK_VERSION=9.5.1
    ...
    		

    <SPECIFIC.VERSION.NUMBER>를 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER>를 9.0.0으로 바꿀 수 있습니다.

    ...
    # Version of Elastic products
    STACK_VERSION=<SPECIFIC.VERSION.NUMBER>
    ...
    		
  6. 기본적으로 Docker Compose 구성은 모든 네트워크 인터페이스에 포트 9200을 노출합니다.

    포트 9200이 외부 호스트에 노출되지 않도록 하려면 .env 파일에서 ES_PORT127.0.0.1:9200으로 설정합니다. 이렇게 하면 호스트 머신에서만 Elasticsearch에 액세스할 수 있습니다.

    ...
    # Port to expose Elasticsearch HTTP API to the host
    #ES_PORT=9200
    ES_PORT=127.0.0.1:9200
    ...
    		
  7. 클러스터를 시작하려면 프로젝트 디렉터리에서 다음 명령어를 실행합니다.

    docker-compose up -d
    		
  8. 클러스터가 시작되면 웹 브라우저에서 http://localhost:5601을 열어 Kibana에 액세스합니다.

  9. 앞에서 설정한 ELASTIC_PASSWORD를 사용하여 elastic 사용자로 Kibana에 로그인합니다.

클러스터를 중지하려면 docker-compose down을 실행합니다. Docker 볼륨의 데이터는 보존되며 docker-compose up으로 클러스터를 다시 시작할 때 로드됩니다.

docker-compose down
		

클러스터를 중지할 때 네트워크, 컨테이너 및 볼륨을 삭제하려면 -v 옵션을 지정합니다.

docker-compose down -v
		

이제 테스트용 Elasticsearch 환경이 설정되었습니다. Elasticsearch를 사용하여 본격적인 개발을 시작하거나 프로덕션 환경으로 전환하기 전에 프로덕션 환경의 Docker에서 Elasticsearch를 실행할 때 적용해야 하는 요구 사항 및 권장 사항을 검토하세요.