Ställ in en Elasticsearch-instans med Docker-behållare

Stall In En Elasticsearch Instans Med Docker Behallare



Elasticsearch är en distribuerad, gratis och öppen sök- och analysmotor för alla typer av data inklusive textuell, numerisk, geospatial, strukturerad och ostrukturerad.

Elasticsearch är byggt på Apache Lucene och släpptes först 2010. Elasticsearch är känt för sina enkla REST API:er, distribuerade natur, hastighet och skalbarhet. Elasticsearch är den centrala komponenten i Elastic Stack, en uppsättning gratis och öppna verktyg för dataintag, anrikning , lagring, analys och visualisering.

I den här handledningen kommer vi snabbt att gå igenom processen att ställa in en Elasticsearch-instans med hjälp av Docker-behållarna.







Krav:

För att köra kommandona och stegen som finns i det här inlägget, se till att du har följande:



  1. Installerad Docker Engine
  2. Installerad Docker Compose
  3. Tillräckliga behörigheter för att köra Docker-behållarna

Definiera Docker Compose-filen

Det första steget är att definiera Docker Compose-konfigurationen för att köra Docker-behållaren. Börja med att skapa katalogen för att lagra konfigurationsfilen:



$ mkdir elastisk
$ CD elastisk

Skapa en 'docker-compose.yml'-fil för att köra Elasticsearch-klustret som visas i följande exempelkonfiguration:





version: '3'
tjänster:
elasticsearch01:
bild: docker.elastic.co / elastisk sökning / elasticsearch:8.9.2
container_name: elasticsearch01
hamnar:
- 9200 : 9200
- 9300 : 9300
miljö:
discovery.type: singelnod
nätverk:
- elastisk
kibana01:
bild: docker.elastic.co / kibana / kibana: 8.9.2
containernamn: kibana01
hamnar:
- 5601 : 5601
miljö:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
nätverk:
- elastisk
nätverk:
elastisk:
förare: bro

I den här exempelfilen definierar vi två tjänster. Den första ställer in Elasticsearch-tjänsten och den andra ställer in Kibana-instansen. Stegen är som beskrivs i följande:

  • Använd bilden Elasticsearch 8.9.2.
  • Kartlägg portarna 9200 och 9300 från containern till värden.
  • Ställ in miljövariabeln 'discovery.type tosingle-node' för Elasticsearch.
  • Anslut till ett anpassat nätverk som kallas 'elastic'.

I Kibana-tjänsten utför vi följande åtgärder:



  • Använd Kibana 8.9.2-bilden.
  • Kartlägg porten 5601 från containern till värden.
  • Ange Elasticsearch-anslutningsadresserna genom miljövariablerna ELASTICSEARCH_URL och ELASTICSEARCH_HOSTS.
  • Anslut till det elastiska nätverket.

Slutligen sätter vi upp ett anpassat nätverk som kallas 'elastic' med hjälp av bryggdrivrutinen som gör att Elasticsearch- och Kibana-containrarna kan kommunicera.

Kör behållaren

När vi har definierat tjänsterna kan vi fortsätta och köra behållarna med kommandot Docker Compose enligt följande:

$ hamnare komponera -d

Gå till Elasticsearch och Kibana

När behållarna har startat kan vi fortsätta och komma åt deras instanser på följande adresser:

http: // lokal värd: 9200 - > Elasticsearch

http: // lokal värd: 5601 - > Kibana

Kör Elasticsearch med kommandot 'Kör' i Docker

Du kan också snabbt köra Elasticsearch med kommandot docker 'run' utan att behöva definiera den anpassade konfigurationen.

Börja med att skapa ett Docker-nätverk för att koppla till Elasticsearch-instansen:

$ hamnarnätverk skapa älg

När du har skapat, kör följande kommando för att skapa Elasticsearch-instansen och koppla den till det skapade nätverket:

$ hamnarkörning -d --namn elastisk sökning --netto älg -s 9200 : 9200 -s 9300 : 9300 -Det är 'discovery.type=single-node' elasticsearch:tag

Detta förenklar processen att skapa en anpassad 'docker-compose'-fil och köra Elasticsearch-instansen snabbt.

Slutsats

Den här artikeln täckte de grundläggande stegen för att definiera och köra en Elasticsearch- och Kibana-instanser med hjälp av Docker-behållarna.