suchen
HeimBetrieb und InstandhaltungDockerSo konfigurieren Sie Consul KV mit Docker

Consul von HashiCorp ist ein vielseitiges Tool, das mehrere Funktionen erfüllt in einer modernen DevOps-Umgebung. Es wird häufig zur Serviceerkennung verwendet. Gesundheitsprüfungen, Lastausgleich und insbesondere als verteilter Schlüsselwert (KV)-Laden. Der KV-Store in Consul eignet sich perfekt für die Lagerung von Dynamit Konfigurationsdaten, Feature-Flags, Geheimnisse und Metadaten in einem hohen Maße verfügbar und konsistent in Ihrer gesamten Infrastruktur, sodass dies möglich ist auf die Dienste in einem verteilten System dynamisch zugreifen können. Benutzen Docker zum Konfigurieren des KV-Stores von Consul ermöglicht eine schnelle Einrichtung und isolierte Umgebungen, was es ideal zum Testen und Entwickeln macht.

Dieses Tutorial führt Sie durch den Prozess der Einrichtung und Konfigurieren des KV-Stores von Consul mit Docker. Am Ende haben Sie eine Voll funktionsfähige Consul-Instanz, die in Docker ausgeführt wird, mit KV-Paaren konfiguriert und zugänglich. Dieses Setup ist für den dynamischen Dienst unerlässlich Konfiguration und Statusverwaltung in verteilten Systemen.

Schritt 1 – Abrufen des Consul-Docker-Images

Lassen Sie uns das offizielle Consul-Image vom Docker Hub abrufen. Dieses Bild ist wird von HashiCorp verwaltet und enthält alles, was Sie zum Ausführen von Consul benötigen.

Melden Sie sich bei der Konsole Ihres Ubuntu Droplets an und Lauf:

docker pull hashicorp/consul:latest
Outputlatest: Pulling from hashicorp/consul
c8bcd218a73d: Pull complete 
5f1ac8227c2a: Pull complete 
c51fd79d429a: Pull complete 
91eff479bde6: Pull complete 
4dfcc18e51db: Pull complete 
3e2a8bf39bf9: Pull complete 
bd9ddc54bea9: Pull complete 
2054d291fb84: Pull complete 
Digest: sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Status: Downloaded newer image for hashicorp/consul:latest
docker.io/hashicorp/consul:latest

Schritt 2 – Führung des Konsuls Container

Nachdem das Consul-Image heruntergeladen wurde, können Sie einen neuen Consul starten Container. Dieser Container dient als Ihr Consul-Server und wird ermöglichen Ihnen die Interaktion mit dem KV-Store.

Um den Container zu starten, Lauf:

docker run -d --name=consul-server -e
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul
c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba

Das ist dieser Befehl tut:

  • -d führt den Container im getrennten Modus aus (im Hintergrund).
  • --name=consul-server weist dem Container einen Namen zu.
  • -e CONSUL_BIND_INTERFACE=eth0 legt die Netzwerkschnittstelle fest, an die sich Consul binden soll. Dies ist für eine ordnungsgemäße Netzwerkkommunikation erforderlich.
  • -p 8500:8500 ordnet die Consul-Web-UI und den API-Port dem Host zu.
  • -p 8600:8600/udp ordnet den DNS-Service-Port zu Service-Erkennung.

Dieser Schritt ist von entscheidender Bedeutung, da er den zentralen Consul-Dienst einrichtet, den Sie zum Konfigurieren des verwenden werden KV-Store.

Schritt 3 – Überprüfen der Consul-Installation

Um sicherzustellen, dass Consul ordnungsgemäß ausgeführt wird, müssen Sie den Containerstatus überprüfen und auf die Consul-Benutzeroberfläche zugreifen.

Zuerst , führen Sie docker ps aus, um alle ausgeführten Container aufzulisten und zu überprüfen, ob der Consul-Container vorhanden ist Laufen.

❯ docker ps                                                                                                      CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                                    NAMES
c893b6707686   hashicorp/consul   "docker-entrypoint.s…"   51 seconds ago   Up 50 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server

Überprüfen Sie nun, ob der Konsul erreichbar ist, öffnen Sie einen Webbrowser und navigieren Sie zu http://localhost:8500. Sie sollten die Konsul-Benutzeroberfläche sehen.

Dieser Überprüfungsschritt ist wichtig, um zu bestätigen, dass Ihr Konsul Die Instanz läuft ohne Probleme, bevor Daten im KV gespeichert werden Store (Schritt 5).

Schritt 4 – Konfigurieren der Firewall (optional)

Wenn auf Ihre Consul-Instanz extern zugegriffen werden muss (z. B. von andere Knoten in einem Cluster), müssen Sie Ihre Firewall-Einstellungen anpassen Lassen Sie Datenverkehr auf den erforderlichen Ports zu.

Wenn Sie beispielsweise Consul auf einer Cloud-Instanz ausführen, können Sie dies tun Sie müssen eingehenden Datenverkehr auf den Ports 8500 (HTTP API) und 8600 (DNS) zulassen. Die spezifischen Befehle variieren je nach Firewall-Lösung (UFW, iptables usw.).

Dieser Schritt stellt sicher, dass Ihre Consul-Instanz von anderen aus zugänglich ist Maschinen, was für verteilte Konfigurationen unerlässlich ist.

Schritt 5 – Speichern von Schlüssel-Wert-Paaren

Wenn Consul ausgeführt wird, können Sie jetzt den KV-Speicher zum Speichern verwenden Konfigurationsdaten. Sie können Schlüssel-Wert-Paare mithilfe der Consul-CLI oder hinzufügen die Web-Benutzeroberfläche.

Um ein Schlüssel-Wert-Paar über die CLI zu speichern, Lauf:

docker pull hashicorp/consul:latest
Outputlatest: Pulling from hashicorp/consul
c8bcd218a73d: Pull complete 
5f1ac8227c2a: Pull complete 
c51fd79d429a: Pull complete 
91eff479bde6: Pull complete 
4dfcc18e51db: Pull complete 
3e2a8bf39bf9: Pull complete 
bd9ddc54bea9: Pull complete 
2054d291fb84: Pull complete 
Digest: sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Status: Downloaded newer image for hashicorp/consul:latest
docker.io/hashicorp/consul:latest

Das ist dieser Befehl tut:

  • -it – Startet das interaktive Terminal vom lokalen System zum Container.
  • consul kv put – Der Befehl kv put schreibt die Daten in den angegebenen Pfad-KV-Speicher.
  • config/db_host – Pfad zum Speichern des Werts.
  • 192.168.1.100 – Wert.

Verwenden Sie die Web-Benutzeroberfläche,

  1. Navigieren Sie zur Consul-Benutzeroberfläche (http://localhost:8500).
  2. Klicken Sie auf „ Registerkarte „Schlüssel/Wert“.
  3. Erstellen Sie durch Klicken einen neuen Schlüssel „Erstellen“.
  4. Geben Sie den Schlüssel (z. B. config/db_host) und den Wert (z. B. 192.168.1.100) ein.

Diese Befehle und Aktionen speichern wichtige Konfigurationsdaten Ihrer Dienste kann zur Laufzeit dynamisch darauf zugreifen.

Schritt 6 – Abrufen Schlüssel-Wert-Paare

Sobald Sie einige KV-Paare gespeichert haben, möchten Sie sie abrufen, um sicherzustellen, dass sie korrekt gespeichert wurden.

Rufen Sie mithilfe der CLI einen Wert mit ab folgende Befehl:

docker run -d --name=consul-server -e

Über die Web-Benutzeroberfläche

  1. Gehen Sie zur Registerkarte „Schlüssel/Wert“ in der Consul-Benutzeroberfläche.
  2. Suchen Sie den von Ihnen erstellten Schlüssel und klicken Sie darauf, um den gespeicherten Schlüssel anzuzeigen Wert.

Web GUI

Das Abrufen der KV-Paare ist ein notwendiger Schritt, um zu überprüfen, ob Ihre Daten korrekt gespeichert und zugänglich sind.

Schritt 7 – Persistenz von Daten mithilfe von Docker-Volumes

Standardmäßig sind Docker-Container kurzlebig, d. h. alle Daten Die darin gespeicherten Daten gehen verloren, wenn der Behälter entfernt wird. Beharren Um Ihre Consul-KV-Daten zu speichern, sollten Sie Docker-Volumes verwenden.

  1. Stoppen und entfernen Sie den aktuellen Consul-Container:
docker pull hashicorp/consul:latest

Überprüfen Sie nun die Container und Sie sollten feststellen, dass der Consul-Container nicht läuft mehr.

Outputlatest: Pulling from hashicorp/consul
c8bcd218a73d: Pull complete 
5f1ac8227c2a: Pull complete 
c51fd79d429a: Pull complete 
91eff479bde6: Pull complete 
4dfcc18e51db: Pull complete 
3e2a8bf39bf9: Pull complete 
bd9ddc54bea9: Pull complete 
2054d291fb84: Pull complete 
Digest: sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Status: Downloaded newer image for hashicorp/consul:latest
docker.io/hashicorp/consul:latest

2.Führen Sie einen neuen Consul-Container mit einem Docker-Volume aus beigefügt:

docker run -d --name=consul-server -e
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul
c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba
❯ docker ps                                                                                                      CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                                    NAMES
c893b6707686   hashicorp/consul   "docker-entrypoint.s…"   51 seconds ago   Up 50 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server
docker exec -it consul-server consul kv put config/db_host 
192.168.1.100
Success! Data written to: config/db_host

Die -v consul_data:/consul/data-Option stellt ein Docker-Volume im Container bereit und stellt sicher, dass Ihr KV-Speicher über Container-Neustarts hinweg bestehen bleibt.

Schritt 8 – Automatisieren des Consul-Starts (optional)

Für die Produktion Bereitstellungen möchten Sie möglicherweise den Start automatisieren Ihren Consul-Container mit Docker Compose. Docker Compose vereinfacht Multi-Container-Docker-Anwendungen und erleichtert die Verwaltung Dienste.

Erstellen Sie eine docker-compose.yml-Datei mit folgendem Inhalt:

docker-compose,yml
docker exec -it consul-server consul kv put config/db_port 3306         Success! Data written to: config/db_port

Dann, Lauf:

docker exec -it consul-server consul kv get config/db_host     
192.168.1.100
docker stop consul-server 
docker rm consul-server
docker ps CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
docker run -d --name=consul-server -e

Dies Der Befehl startet Consul automatisch und stellt sicher, dass es neu startet, wenn es fehlschlägt, wodurch es robuster für den Produktionseinsatz wird.

Schritt 9 – Bereinigen

Sobald Sie mit der Arbeit mit Ihrer Consul-Instanz fertig sind, sollten Sie dies tun Bereinigen Sie Ihre Docker-Umgebung, um Ressourcen freizugeben.

Lassen Sie uns anhalten und den Consul entfernen Behälter:

OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp -v consul_data:/consul/data hashicorp/consul
2d2a7d3ff1911c2283e70506d68391a5cbf9c935a2ae447bfb8fa21481989ef1
docker ps

Wenn Sie mit Consul fertig sind, können Sie das auch entfernen Docker-Image:

OutputCONTAINER ID   IMAGE              COMMAND                  CREATED         STATUS         PORTS                                                                                    NAMES
2d2a7d3ff191   hashicorp/consul   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server
services:
  consul:
    image: hashicorp/consul:latest    environment:
      - CONSUL_BIND_INTERFACE=eth0    volumes:
      - consul_data:/consul/data 
    ports:
      - "8500:8500"
      - "8600:8600/udp"
    restart: alwaysvolumes:
  consul_data:

Das Aufräumen trägt dazu bei, eine aufgeräumte Entwicklungsumgebung aufrechtzuerhalten und stellt sicher, dass Docker-Ressourcen nicht unnötig verbraucht werden.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Consul KV mit Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:digitalocean.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Docker vs. Kubernetes: Anwendungsfälle und SzenarienDocker vs. Kubernetes: Anwendungsfälle und SzenarienApr 23, 2025 am 12:11 AM

Wählen Sie Docker in einer kleinen Projekt- oder Entwicklungsumgebung und Kubernetes in einer großen Projekt- oder Produktionsumgebung. 1.Docker eignet sich für schnelle Iteration und Tests, 2. Kubernetes bietet leistungsstarke Container -Orchestrierungsfunktionen, die für die Verwaltung und Erweiterung großer Anwendungen geeignet sind.

Docker unter Linux: Containerisierung für Linux -SystemeDocker unter Linux: Containerisierung für Linux -SystemeApr 22, 2025 am 12:03 AM

Docker ist wichtig unter Linux, da Linux seine native Plattform ist, die reichhaltige Tools und Community -Unterstützung bietet. 1. Installieren Sie Docker: Verwenden Sie Sudoapt-Getupdate und sudoapt-getinstalldocker-cedocker-ce-clicotainerd.io. 2. Erstellen und Verwalten von Containern: Verwenden Sie Dockerrun-Befehle wie Dockerrun-d-namemyninx-p80: 80Nginx. 3. Schreiben Sie Dockerfile: Optimieren Sie die Bildgröße und verwenden Sie mehrstufige Konstruktionen. 4. Optimierung und Debugging: Verwenden Sie Dockerlogs und Dockerex

Docker: Das Containerisierungstool, Kubernetes: Der OrchestratorDocker: Das Containerisierungstool, Kubernetes: Der OrchestratorApr 21, 2025 am 12:01 AM

Docker ist ein Containerisierungstool, und Kubernetes ist ein Container -Orchestrierungs -Tool. 1. Docker-Paket-Anwendungen und ihre Abhängigkeiten in Container, die in jeder Docker-fähigen Umgebung ausgeführt werden können. 2. Kubernetes verwaltet diese Container, implementiert automatisierte Bereitstellung, Skalierung und Verwaltung und die effiziente Ausführung von Anwendungen.

Zweck des Dockers: Vereinfachung der AnwendungsbereitstellungZweck des Dockers: Vereinfachung der AnwendungsbereitstellungApr 20, 2025 am 12:09 AM

Der Zweck von Docker ist es, die Anwendungsbereitstellung zu vereinfachen und sicherzustellen, dass Anwendungen durch Containerisierungstechnologie konsistent in verschiedenen Umgebungen ausgeführt werden. 1) Docker löst das Problem der Umweltunterschiede durch Verpackung von Anwendungen und Abhängigkeiten in Container. 2) Erstellen Sie Bilder mit DockerFile, um sicherzustellen, dass die Anwendung überall konsequent ausgeführt wird. 3) Dockers Arbeitsprinzip basiert auf Bildern und Containern und verwendet den Namespace- und Kontrollgruppen des Linux -Kernels, um Isolations- und Ressourcenmanagement zu erreichen. 4) Die grundlegende Nutzung umfasst das Ziehen und Ausführen von Bildern von DockerHub, und die erweiterte Verwendung umfasst die Verwaltung von Multi-Container-Anwendungen mithilfe von DockerComponpose. 5) Häufige Fehler wie das Ausfall des Bildbaus und das Versagen des Containers, zu starten, können Sie durch Protokoll- und Netzwerkkonfiguration debuggen. 6) Leistungsoptimierungskonstruktion

Linux und Docker: Docker auf verschiedenen Linux -VerteilungenLinux und Docker: Docker auf verschiedenen Linux -VerteilungenApr 19, 2025 am 12:10 AM

Die Methoden zur Installation und Verwendung von Docker auf Ubuntu, CentOS und Debian sind unterschiedlich. 1) Ubuntu: Verwenden Sie den APT-Paket-Manager. Der Befehl ist sudoapt-getupdate && sudoapt-getinstalldocker.io. 2) CentOS: Verwenden Sie den YUM -Paket -Manager und Sie müssen das Docker -Repository hinzufügen. Der Befehl ist sudoyumininstall-yyum-utils && sudoyum-config-manager-add-repohttps: //download.docker.com/lin

Mastering Docker: Eine Anleitung für Linux -BenutzerMastering Docker: Eine Anleitung für Linux -BenutzerApr 18, 2025 am 12:08 AM

Die Verwendung von Docker unter Linux kann die Entwicklungseffizienz verbessern und die Anwendungsbereitstellung vereinfachen. 1) Ziehen Sie Ubuntu Bild: Dockerpullubuntu. 2) Ubuntu-Container ausführen: Dockerrun-iTubuntu/bin/bash. 3) Erstellen Sie Dockerfile mit Nginx: Fromubuntu; Runapt-Getupdate && Apt-Getinstall-minginx; expose80. 4) Erstellen Sie das Bild: Dockerbuild-tmy-nginx. 5) Container ausführen: Dockerrun-D-P8080: 80

Docker unter Linux: Anwendungen und AnwendungsfälleDocker unter Linux: Anwendungen und AnwendungsfälleApr 17, 2025 am 12:10 AM

Docker vereinfacht die Anwendungsbereitstellung und -verwaltung unter Linux. 1) Docker ist eine Containerplattform, die Anwendungen und ihre Abhängigkeiten in leichte und tragbare Container verpackt. 2) Unter Linux verwendet Docker CGroups und Namespaces, um die Isolation von Containern und die Ressourcenverwaltung zu implementieren. 3) Zu den grundlegenden Verwendungen gehören das Ziehen von Bildern und laufende Behälter. Fortgeschrittene Verwendungen wie DockerComponpose können Multi-Container-Anwendungen definieren. 4) DEBUG DEBUG DECKERLOGS und DOCKEREXEC -Befehle. 5) Die Leistungsoptimierung kann die Bildgröße durch mehrstufige Konstruktion verringern, und es ist die beste Verfahren, die Dockerfile einfach zu halten.

Docker: Containerisierungsanwendungen für Portabilität und SkalierbarkeitDocker: Containerisierungsanwendungen für Portabilität und SkalierbarkeitApr 16, 2025 am 12:09 AM

Docker ist ein technologiebasiertes Linux-Container-Tool, das zum Verpacken, Verteilen und Ausführen von Anwendungen verwendet wird, um die Anwendungsportabilität und Skalierbarkeit zu verbessern. 1) Befehle mit Dockerbuild und Dockerrun können zum Erstellen und Ausführen von Docker -Containern verwendet werden. 2) DockerComponpose wird verwendet, um Multi-Container-Docker-Anwendungen zu definieren und auszuführen, um die Microservice-Management zu vereinfachen. 3) Durch die Verwendung mehrstufiger Konstruktion können Sie die Bildgröße optimieren und die Antrags-Startgeschwindigkeit verbessern. 4) Die Anzeigen von Containerprotokollen ist eine effektive Möglichkeit, Containerprobleme zu debugieren.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!