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:
- Installerad Docker Engine
- Installerad Docker Compose
- 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 - > Elasticsearchhttp: // 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 älgNä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:tagDetta 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.