Wie erstelle ich einen Elasticsearch Image Docker?

Wie Erstelle Ich Einen Elasticsearch Image Docker



Elasticsearch ist eine beliebte Suchmaschine und ein Datenanalysetool, das auf der Lucene-Bibliothek basiert. Es wird hauptsächlich zum Speichern und Verwalten verschiedener Arten von Daten verwendet, z. B. struktureller, räumlicher, unstrukturierter und halbstrukturierter Daten.

Manchmal möchten Benutzer Elasticsearch in einer isolierten Umgebung ausführen. In solchen Szenarien können sie die Docker-Plattform zur Containerisierung des Elasticsearch-Dienstes nutzen und außerdem ihr persönliches Elasticsearch-Image erstellen, um es entsprechend ihren Vorlieben zu verwenden.

In diesem Blog wird veranschaulicht, wie Sie ein Elasticsearch-Image in Docker erstellen.







Erstellen Sie ein Elasticsearch-Image mit Docker

Die Elasticsearch-Community stellt das offizielle Image auf der Docker-Plattform bereit, das alles enthält, was Benutzer zum Bereitstellen des Elasticsearch-Containers benötigen. Benutzer müssen lediglich das offizielle Elasticsearch-Image aus dem offiziellen Repository von Docker abrufen und ausführen.



Um das Elasticsearch-Image aus dem offiziellen Docker-Repository abzurufen, befolgen Sie den angegebenen Befehl:



Docker Pull Elasticsearch:8.8.1





Um das Elasticsearch-Image von Grund auf zu erstellen, führen Sie die aufgeführten Schritte aus.

Schritt 1: Docker auf dem System einrichten und starten
Um mit Docker zu beginnen, muss der Benutzer es von der Docker-Website herunterladen Webseite . Um Docker unter Windows zu installieren und zu starten, navigieren Sie zu unserem bereitgestellten Post :



Schritt 2: Docker-Datei erstellen
Erstellen Sie als Nächstes eine neue Datei und geben Sie als Namen „ Docker-Datei “. Fügen Sie anschließend den folgenden Ausschnitt in die Datei ein:

VON kostenlos
KOPIEREN Sie elasticsearch.yml / usr / Aktie / elastische Suche / config
RUN groupadd -G 1000 elastische Suche && useradd Elasticsearch -In 1000 -G 1000
LAUFEN apt-get-Update && \
apt-get installieren -Und --no-install-recommends \
apt-transport-https \
wget -Und \
Locken -Und
LAUFEN wget https: // artefakte.elastic.co / Downloads / elastische Suche / elasticsearch-8.8.1-amd64.deb --no-check-zertifikat
CMD [ „elastische Suche“ ]
EXPONIEREN 9200 9300

Im obigen Codeblock werden die folgenden Konfigurationen in Dockerfile konfiguriert:

  • AUS Der Befehl „wird verwendet, um das Basis-Image des Containers zu definieren. Wir haben zum Beispiel „ Ubuntu ” als Basisbild.
  • KOPIEREN Der Befehl kopiert den Befehl „ elastischesuche.yml ”-Datei in den Pfad des Containers einfügen.
  • LAUFEN ” führt die definierten Befehle innerhalb des Containers aus. Wir haben das „ LAUFEN ”-Befehl zum Erstellen der Elasticsearch-Benutzergruppe, zum Installieren von Abhängigkeiten und zum Herunterladen des Elasticsearch-Setups.
  • CMD Der Befehl „wird verwendet, um die ausführbaren Dateien des Containers zu beschreiben.
  • EXPONIEREN „gibt die exponierten Ports des Containers an.

Schritt 3: Erstellen Sie die Datei „elasticsearch.yml“.
Erstellen Sie im nächsten Schritt eine weitere Datei mit dem Namen „ elastischesuche.yml ”-Datei, die die folgenden Anweisungen enthält:

Clustername: „Docker-Cluster“
network.host: 0.0.0.0

Schritt 4: Erstellen Sie ein Elasticsearch-Image
Erstellen Sie nun das Elasticsearch-Image mit Hilfe von „ Docker-Build ' Befehl. Hier das ' -T Das Flag „“ wird verwendet, um den Bildnamen festzulegen oder das Bild zu markieren:

Docker-Build -T elastischesuche-img .

Der obige Befehl beginnt mit dem Lesen von Anweisungen aus der Docker-Datei und erstellt das Elasticsearch-Docker-Image:

Die obige Ausgabe zeigt, dass wir das Elasticsearch-Image erfolgreich in Docker erstellt haben.

Schritt 5: Führen Sie das Elasticsearch-Image aus
Um das Elasticsearch-Image auszuführen, um Elasticsearch im Container zu installieren und auszuführen, verwenden Sie den folgenden Befehl:

Docker-Lauf --rm -Es -P 9200 : 9200 elastischesuche-img / Behälter / bash

Im obigen Befehl:

  • –rm Die Option „Entfernt den Container automatisch, wenn Benutzer die Ausführung stoppen.
  • -Es „wird verwendet, um den Elasticsearch-Container im interaktiven Modus auszuführen und ein TTY-Pseudo-Terminal zuzuweisen.
  • -P Das Flag weist dem Container die verfügbaren Ports zu.
  • /bin/bash ” wird verwendet, um mit dem Container über das „ zu interagieren bash ” Schnittstelle:

Schritt 6: Installieren Sie Elasticsearch im Container
Führen Sie im Container den folgenden Befehl zusammen mit der in der Docker-Datei angegebenen Elasticsearch-Setup-Version aus, um Elasticsearch zu installieren:

dpkg -ich elasticsearch-8.8.1-amd64.deb

Wenn das Elasticsearch-Image korrekt generiert wird, erhält der Benutzer den Standardbenutzernamen und das einmalig generierte Passwort für Elastic Search, die für die Anmeldung bei Elasticsearch verwendet werden. Dadurch wird auch das Token zum Konfigurieren von Kibana mit Elasticsearch generiert:

Bewahren Sie die oben genannten Informationen für die zukünftige Verwendung auf.

Schritt 7: Alle Elasticsearch-Befehle anzeigen
Elasticsearch bietet verschiedene Befehle zum Betreiben der Suchmaschine, beispielsweise zum Generieren des „ elastisch „Benutzerpasswort, Token, Elasticsearch-SQL ausführen und vieles mehr.“ Um die Befehle anzuzeigen und auszuführen, navigieren Sie zu „Elasticsearch“ Behälter ”-Verzeichnis über das „ CD ' Befehl:

CD '/usr/share/elasticsearch/'

Navigieren Sie nun zu „ Behälter ”-Verzeichnis und verwenden Sie das „ ls ”-Befehl zum Anzeigen aller Elasticsearch-Bilder:

CD Behälter
ls

Dabei geht es darum, ein Elasticsearch-Image in Docker zu erstellen.

Abschluss

Um das Elasticsearch-Image zu erstellen, laden Sie zunächst Docker herunter und richten Sie es auf dem System ein. Erstellen Sie anschließend ein „ Docker-Datei ”, das die wesentlichen Konfigurationen für die Installation und Ausführung von Elasticsearch im Container angibt. Erstellen Sie anschließend das Elasticsearch-Image, indem Sie „ Docker-Build ' Befehl. In diesem Beitrag wurde die Methode zum Erstellen und Verwenden des Elasticsearch-Images in Docker demonstriert.