Table des matières
Étape 1 — Extraire l'image Docker Consul
Étape 2 — Exécuter le consul Conteneur
Étape 3 — Vérification de l'installation de Consul
Étape 4 — Configuration du pare-feu (facultatif)
Étape 5 — Stockage des paires clé-valeur
Étape 6 — Récupération des paires clé-valeur
Étape 7 — Persistance des données à l'aide de volumes Docker
Étape 8 — Automatisation du démarrage de Consul (facultatif)
Étape 9 — Nettoyage
Maison Opération et maintenance Docker Comment configurer Consul KV à l'aide de Docker

Comment configurer Consul KV à l'aide de Docker

Jan 10, 2025 pm 04:31 PM
docker

Consul by HashiCorp est un outil polyvalent qui remplit plusieurs fonctions dans un environnement DevOps moderne. Il est largement utilisé pour la découverte de services, contrôles de santé, équilibrage de charge et, notamment, en tant que clé-valeur distribuée (KV) magasin. Le magasin KV de Consul est parfait pour stocker des produits dynamiques données de configuration, indicateurs de fonctionnalités, secrets et métadonnées de manière hautement de manière disponible et cohérente dans toute votre infrastructure afin qu'elle puisse être accessible dynamiquement par les services dans un système distribué. En utilisant Docker pour configurer le magasin KV de Consul permet une configuration rapide et environnements isolés, ce qui le rend idéal pour les tests et le développement.

Ce tutoriel vous guidera à travers le processus de configuration et configuration du magasin KV de Consul à l'aide de Docker. À la fin, vous aurez un instance Consul entièrement fonctionnelle fonctionnant dans Docker, avec des paires KV configuré et accessible. Cette configuration est essentielle pour un service dynamique configuration et gestion de l'état dans les systèmes distribués.

Étape 1 — Extraire l'image Docker Consul

Extirons l'image officielle Consul de Docker Hub. Cette image est maintenu par HashiCorp et comprend tout ce dont vous avez besoin pour exécuter Consul.

Connectez-vous à la console de votre Ubuntu Droplet et courir :

docker pull hashicorp/consul:latest
Copier après la connexion
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
Copier après la connexion

Étape 2 — Exécuter le consul Conteneur

Maintenant que l'image Consul est téléchargée, vous pouvez démarrer un nouveau Consul récipient. Ce conteneur servira de serveur Consul et vous permettent d'interagir avec la boutique KV.

Pour démarrer le conteneur, courir :

docker run -d --name=consul-server -e
Copier après la connexion
Copier après la connexion
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul
c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba
Copier après la connexion

Voici ce que signifie cette commande makes:

  • -d exécute le conteneur en mode détaché (en arrière-plan).
  • --name=consul-server attribue un nom au conteneur.
  • -e CONSUL_BIND_INTERFACE=eth0 définit l'interface réseau à laquelle Consul doit se lier. Ceci est nécessaire pour une bonne communication réseau.
  • -p 8500:8500 mappe l'interface utilisateur Web et le port API du Consul à l'hôte.
  • -p 8600:8600/udp mappe le port du service DNS pour découverte du service.

Cette étape est cruciale car elle met en place le service principal Consul, que vous utiliserez pour configurer le KV store.

Étape 3 — Vérification de l'installation de Consul

Pour vous assurer que Consul fonctionne correctement, vous devez vérifier l'état du conteneur et accéder à l'interface utilisateur de Consul.

Tout d'abord, exécutez docker ps pour répertorier tous les conteneurs en cours d'exécution et vérifiez que le conteneur Consul est en cours d'exécution.

❯ 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
Copier après la connexion

Maintenant, vérifiez si le consul est accessible, ouvrez un navigateur Web et accédez à http://localhost:8500. Vous devriez voir l'interface utilisateur du consul.

Cette étape de vérification est importante pour confirmer que votre consul l'instance s'exécute sans aucun problème avant de stocker les données dans le KV store (étape 5).

Étape 4 — Configuration du pare-feu (facultatif)

Si votre instance Consul doit être accessible de l'extérieur (par exemple, depuis autres nœuds d'un cluster), vous devez ajuster les paramètres de votre pare-feu pour autoriser le trafic sur les ports nécessaires.

Par exemple, si vous exécutez Consul sur une instance cloud, vous pouvez devez autoriser le trafic entrant sur les ports 8500 (API HTTP) et 8600 (DNS). Les commandes spécifiques varient en fonction de votre solution de pare-feu (UFW, iptables, etc.).

Cette étape garantit que votre instance Consul est accessible depuis d'autres machines, ce qui est essentiel pour les configurations distribuées.

Étape 5 — Stockage des paires clé-valeur

Avec Consul en cours d'exécution, vous pouvez désormais utiliser le magasin KV pour stocker données de configuration. Vous pouvez ajouter des paires clé-valeur à l'aide de la CLI Consul ou l'interface utilisateur Web.

Pour stocker une paire clé-valeur via la CLI, courir :

docker exec -it consul-server consul kv put config/db_host 
192.168.1.100
Success! Data written to: config/db_host
Copier après la connexion
docker exec -it consul-server consul kv put config/db_port 3306         Success! Data written to: config/db_port
Copier après la connexion

Voici ce que signifie cette commande fait :

  • -it - Lance le terminal interactif du système local vers le conteneur.
  • consul kv put - La commande kv put écrit les données dans le magasin KV du chemin donné.
  • config/db_host - chemin pour stocker la valeur.
  • 192.168.1.100 - Valeur.

À l'aide de l'interface utilisateur Web,

  1. Accédez à l'interface utilisateur du Consul (http://localhost:8500).
  2. Cliquez sur l'onglet « Clé/Valeur ».
  3. Créez une nouvelle clé en cliquant sur « Créer ».
  4. Entrez la clé (par exemple, config/db_host) et la valeur (par exemple, 192.168.1.100).

Ces commandes et actions stockent des données de configuration critiques auxquelles vos services peuvent accéder dynamiquement au moment de l'exécution.

Étape 6 — Récupération des paires clé-valeur

Une fois que vous avez stocké du KV paires, vous souhaiterez les récupérer pour vous assurer qu'elles ont été stockées correctement.

À l'aide de la CLI, récupérez une valeur à l'aide de la commande suivante :

docker exec -it consul-server consul kv get config/db_host     
192.168.1.100
Copier après la connexion

Utiliser le Web UI,

  1. Allez dans l'onglet « Clé/Valeur » dans l'interface utilisateur du Consul.
  2. Trouvez la clé que vous avez créée et cliquez dessus pour voir la valeur stockée.

Web GUI

Récupérer les paires KV est une étape nécessaire pour vérifier que vos données sont correctement stockées et accessible.

Étape 7 — Persistance des données à l'aide de volumes Docker

Par défaut, les conteneurs Docker sont éphémères, ce qui signifie que toutes les données stockés à l’intérieur seront perdus si le conteneur est retiré. Persister vos données Consul KV, vous devez utiliser les volumes Docker.

  1. Arrêtez et supprimez le conteneur Consul actuel :
docker stop consul-server 
docker rm consul-server
Copier après la connexion

Maintenant, vérifiez les conteneurs et vous devriez remarquer que le conteneur Consul ne fonctionne pas

docker ps CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
Copier après la connexion

2.Exécutez un nouveau conteneur Consul avec un volume Docker ci-joint :

docker run -d --name=consul-server -e
Copier après la connexion
Copier après la connexion
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp -v consul_data:/consul/data hashicorp/consul
2d2a7d3ff1911c2283e70506d68391a5cbf9c935a2ae447bfb8fa21481989ef1
Copier après la connexion
docker ps
Copier après la connexion
Copier après la connexion
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
Copier après la connexion

Le L'option -v consul_data:/consul/data monte un volume Docker sur le conteneur, garantissant ainsi la persistance de votre magasin KV lors des redémarrages du conteneur.

Étape 8 — Automatisation du démarrage de Consul (facultatif)

Pour la production déploiements, vous souhaiterez peut-être automatiser le démarrage de votre conteneur Consul à l’aide de Docker Compose. Docker Compose simplifie applications Docker multi-conteneurs et facilite la gestion services.

Créez un fichier docker-compose.yml avec le contenu suivant :

docker-compose,yml
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:
Copier après la connexion

Alors, courir :

docker-compose up -d
Copier après la connexion
Output[ ] Running 2/2
 ✔ Network work_default     Created                                                                                                           0.0s 
 ✔ Container consul-server  Started                                                                                                           0.1s
Copier après la connexion
docker ps
Copier après la connexion
Copier après la connexion
OutputWARN[0000] /Users/anandhkumar/work/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME            IMAGE                     COMMAND                  SERVICE   CREATED          STATUS          PORTS
work-consul-1   hashicorp/consul:latest   "docker-entrypoint.s…"   consul    40 seconds ago   Up 11 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp
Copier après la connexion

Ceci La commande démarre Consul automatiquement et garantit son redémarrage en cas d'échec, ce qui le rend plus robuste pour une utilisation en production.

Étape 9 — Nettoyage

Une fois que vous avez fini de travailler avec votre instance Consul, vous devez nettoyons votre environnement Docker pour libérer des ressources.

Arrêtons et supprimons le Consul contenant :

docker stop consul-server   
docker rm consul-serverdocker ps
Copier après la connexion
outputCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
Copier après la connexion

Si vous en avez fini avec Consul, vous pouvez également supprimer le Docker image :

docker rmi hashicorp/consul
Copier après la connexion
outputhashicorp/consul@sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb
Deleted: sha256:eff8ccb509560987755a70df8d6c0b9410538d503d99498ae1ea9f48066b0439
Deleted: sha256:b5e6402bbb78eb061d538505a30300ef7f612104eaf0f11b17839a9b29bc5603
Deleted: sha256:1c61ada2ad8074615120d13bd805260d766ae8424cafbda4bded529d6a204d6f
Deleted: sha256:9b36da670e2a59f1d81c6e3c9d55906c576b384df51272977e5a9caea7131e74
Deleted: sha256:8c6e52c441c246f60ca146b71204b7d6511df75fa87a0dc0a0f91141964e8fd9
Deleted: sha256:1fce18208235de2be3c419764ec1d469229af5387447d21649c841632c653cef
Deleted: sha256:68e0a114c9c35b9aa8cac31fa32b27f886361bc85fcc63f34e882e9128f33a14
Deleted: sha256:3da5b888208a9b19694bfeaf8c74a432b50f44542d717c9e1f3ab273e505855a
Deleted: sha256:dea73e9287e6e2f3b7f9fcac4f20767d7badeefa24e52f990f1674e98abfa1a3
Deleted: sha256:201fa22d1f4c7d6e7ec43135c63b2260f303f4864f5eb43569faaa1731628799
Copier après la connexion

Le nettoyage permet de maintenir un environnement de développement ordonné et garantit que les ressources Docker ne sont pas consommés inutilement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

See all articles