Docker 컨테이너를 사용하여 Elasticsearch 인스턴스 설정

Docker Keonteineoleul Sayonghayeo Elasticsearch Inseuteonseu Seoljeong



Elasticsearch는 텍스트, 숫자, 지리 공간, 구조적, 비구조적 데이터를 포함한 모든 유형의 데이터를 위한 분산형 무료 개방형 검색 및 분석 엔진입니다.

Elasticsearch는 Apache Lucene을 기반으로 구축되었으며 2010년에 처음 출시되었습니다. 간단한 REST API, 분산 특성, 속도 및 확장성으로 잘 알려진 Elasticsearch는 데이터 수집, 강화를 위한 무료 개방형 도구 세트인 Elastic Stack의 핵심 구성 요소입니다. , 저장, 분석 및 시각화.

이 튜토리얼에서는 Docker 컨테이너를 사용하여 Elasticsearch 인스턴스를 설정하는 프로세스를 빠르게 살펴보겠습니다.







요구사항:

이 게시물에 제공된 명령과 단계를 실행하려면 다음이 있는지 확인하십시오.



  1. 설치된 도커 엔진
  2. Docker Compose 설치됨
  3. Docker 컨테이너를 실행할 수 있는 충분한 권한

Docker Compose 파일 정의

첫 번째 단계는 Docker 컨테이너를 실행하기 위한 Docker Compose 구성을 정의하는 것입니다. 구성 파일을 저장할 디렉터리를 만드는 것부터 시작하세요.



$ mkdir 탄력있는
$ CD 탄력있는

다음 예제 구성과 같이 Elasticsearch 클러스터를 실행하기 위해 'docker-compose.yml' 파일을 생성합니다.





버전: '삼'
서비스:
탄력적 검색01:
이미지: docker.elastic.co / 탄성 검색 / 탄성 검색:8.9.2
컨테이너 이름: elasticsearch01
포트:
- 9200 : 9200
- 9300 : 9300
환경:
discovery.type: 단일 노드
네트워크:
- 탄력있는
kibana01:
이미지: docker.elastic.co / 키바나 / 키바나: 8.9.2
컨테이너 이름: kibana01
포트:
- 5601 : 5601
환경:
ELASTICSEARCH_URL: http: // 탄력적 검색01: 9200
ELASTICSEARCH_HOSTS: http: // 탄력적 검색01: 9200
네트워크:
- 탄력있는
네트워크:
탄력있는:
드라이버: 브릿지

이 예제 파일에서는 두 가지 서비스를 정의합니다. 첫 번째는 Elasticsearch 서비스를 설정하고 다른 하나는 Kibana 인스턴스를 설정합니다. 단계는 다음과 같습니다.

  • Elasticsearch 8.9.2 이미지를 사용하세요.
  • 컨테이너의 포트 9200 및 9300을 호스트에 매핑합니다.
  • Elasticsearch에 대한 'discovery.type tosingle-node' 환경 변수를 설정합니다.
  • 'elastic'이라는 사용자 지정 네트워크에 연결합니다.

Kibana 서비스에서는 다음 작업을 수행합니다.



  • Kibana 8.9.2 이미지를 사용합니다.
  • 컨테이너에서 호스트로 포트 5601을 매핑합니다.
  • ELASTICSEARCH_URL 및 ELASTICSEARCH_HOSTS 환경 변수를 통해 Elasticsearch 연결 URL을 지정합니다.
  • 탄력적 네트워크에 연결합니다.

마지막으로 Elasticsearch와 Kibana 컨테이너가 통신할 수 있도록 하는 브리지 드라이버를 사용하여 'elastic'이라는 사용자 정의 네트워크를 설정했습니다.

컨테이너 실행

서비스가 정의되면 다음과 같이 Docker Compose 명령을 사용하여 컨테이너를 계속 실행하고 실행할 수 있습니다.

$ 도커 구성 -디

Elasticsearch 및 Kibana에 액세스

컨테이너가 시작되면 다음 주소에서 컨테이너 인스턴스에 액세스할 수 있습니다.

http: // 로컬 호스트: 9200 - > 엘라스틱서치

http: // 로컬 호스트: 5601 - > 키바나

Docker '실행' 명령을 사용하여 Elasticsearch 실행

또한 사용자 정의 구성을 정의할 필요 없이 docker “run” 명령을 사용하여 Elasticsearch를 빠르게 실행할 수도 있습니다.

Elasticsearch 인스턴스에 연결할 Docker 네트워크를 만드는 것부터 시작하세요.

$ 도커 네트워크는 엘크를 생성합니다

생성되면 다음 명령을 실행하여 Elasticsearch 인스턴스를 생성하고 생성된 네트워크에 연결합니다.

$ 도커 실행 -디 --이름 탄성 검색 --그물 고라니 -피 9200 : 9200 -피 9300 : 9300 -그것은 'discovery.type=단일 노드' 탄력적 검색:태그

이는 사용자 정의 'docker-compose' 파일을 생성하는 프로세스를 단순화하고 Elasticsearch 인스턴스를 빠르게 실행합니다.

결론

이 문서에서는 Docker 컨테이너를 사용하여 Elasticsearch 및 Kibana 인스턴스를 정의하고 실행하는 기본 단계를 다루었습니다.