Table des matières
1. La configuration du cluster
2. redis.conf
3. Créez un fichier redis.conf sous chaque dossier redis-* et écrivez le contenu suivant :
4. Fichier .yml #🎜 🎜#
7.2 Modifier le fichier docker-compose.yml
Maison base de données Redis Comment Docker-Compose crée un cluster Redis

Comment Docker-Compose crée un cluster Redis

May 30, 2023 pm 04:46 PM
redis docker docker-compose

1. La configuration du cluster

  • 3 maître + 3 esclaves

  • est uniquement destiné aux tests, donc je n'utilise qu'un seul serveur pour la simulation ici

redis list

Comment Docker-Compose crée un cluster Redis

2. redis.conf

pour créer un répertoire sur le serveur pour stocker les fichiers de déploiement du cluster Redis. Le chemin que j'ai mis ici est /root/redis-cluster

Create redis-1, redis-2, redis-3, redis-4, redis- dans le répertoire /opt/docker/redis-cluster 5. Dossier redis-6

mkdir -p /opt/docker/redis-cluster/{redis-1,redis-2,redis-3,redis-4,redis-5,redis-6}
 
#创建持久化目录
mkdir -p /opt/docker/redis-cluster/redis-1/data
mkdir -p /opt/docker/redis-cluster/redis-2/data
mkdir -p /opt/docker/redis-cluster/redis-3/data
mkdir -p /opt/docker/redis-cluster/redis-4/data
mkdir -p /opt/docker/redis-cluster/redis-5/data
mkdir -p /opt/docker/redis-cluster/redis-6/data
Copier après la connexion

3. Créez un fichier redis.conf sous chaque dossier redis-* et écrivez le contenu suivant :

cluster-enabled yes # 开启集群
cluster-config-file nodes.conf # 集群配置文件
cluster-node-timeout 5000 # 集群节点多少时间未响应视为该节点丢失
appendonly yes
port 6379 # redis监听端口
masterauth passwd123  #设置master节点密码
requirepass passwd123 #设置密码
Copier après la connexion

Remarque : les valeurs du port ​​ne peuvent pas tous être 6379. Selon les numéros de port définis dans la liste Redis ci-dessus, définissez les numéros de port 6379 ~ 6384 pour redis-1 ~ redis-6 dans l'ordre

4. Fichier .yml #🎜 🎜#

Ici, utilisez directement l'adresse miroir redis daocloud.io/library/redis:6.0.4

pour créer docker-compose.yml dans le /root/redis -dossier cluster.

docker-compose.yml le contenu du fichier est le suivant :

version: '3.1'
services:
  # redis1配置
  redis1:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-1
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-1/data:/data
      - /opt/docker/redis-cluster/redis-1/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  # redis2配置
  redis2:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-2
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-2/data:/data
      - /opt/docker/redis-cluster/redis-2/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  # redis3配置
  redis3:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-3
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-3/data:/data
      - /opt/docker/redis-cluster/redis-3/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  # redis4配置
  redis4:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-4
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-4/data:/data
      - /opt/docker/redis-cluster/redis-4/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  # redis5配置
  redis5:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-5
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-5/data:/data
      - /opt/docker/redis-cluster/redis-5/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
  # redis6配置
  redis6:
    image: daocloud.io/library/redis:6.0.4
    container_name: redis-6
    restart: always
    network_mode: "host"
    volumes:
      - /opt/docker/redis-cluster/redis-6/data:/data
      - /opt/docker/redis-cluster/redis-6/redis.conf:/usr/local/etc/redis/redis.conf
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
Copier après la connexion

Démarrez le conteneur et exécutez la commande :

#启动容器
docker-compose -f xxx.yaml up -d
Copier après la connexion

# 🎜🎜## 🎜🎜#5. Ouvrez le clusterComment Docker-Compose crée un cluster Redis

Trouvez un conteneur dans lequel entrer. Ici, je choisis redis-1 pour entrer. Après être entré dans le conteneur, entrez la commande suivante pour démarrer le cluster :

redis-cli --cluster create 192.168.66.180:6379 \
192.168.66.180:6380 \
192.168.66.180:6381 \
192.168.66.180:6382 \
192.168.66.180:6383 \
192.168.66.180:6384 \
--cluster-replicas 1
Copier après la connexion

L'image suivante indique le succès. Comment Docker-Compose crée un cluster Redis

6. Test Comment Docker-Compose crée un cluster Redis

Utilisez la commande redis-cli pour vous connecter à n'importe quel nœud du cluster. Je viens de le tester sur un ordinateur capable de pinger l'adresse IP du cluster. Ici, j'ai utilisé l'ordinateur local

6.1 pour afficher les propriétés du nœud

redis-cli -c -h 192.168.66.180 -p 6379
192.168.66.180:6379> cluster info
Copier après la connexion

comme indiqué ci-dessous, Il s'agit de l'état de santé du cluster

6.2 Afficher les informations sur le nœudComment Docker-Compose crée un cluster Redis

cluster nodes
Copier après la connexion

#🎜🎜 # Faites attention aux mots-clés tels que esclave, maître, moi-même, etc. dans l'image.

Comment Docker-Compose crée un cluster Redis

6.3 Insérer une valeur

192.168.66.180:6379> set test 'hello world'
-> Redirected to slot [6918] located at 192.168.66.180:6380
OK
192.168.66.180:6380>
Copier après la connexion
Comment Docker-Compose crée un cluster Redis

Remarque : Ici selon slicing Bascule automatiquement vers le nœud où se trouve le fragment de données, vous pouvez donc voir ci-dessous que le nœud connecté est devenu 192.168.1.4:6380

Comment Docker-Compose crée un cluster Redisget test

168.66.180:6379> set test 'hello world'
-> Redirected to slot [6918] located at 192.168.66.180:6380
OK
192.168.66.180:6380> get test
"hello world"
192.168.66.180:6380>
Copier après la connexion

This c'est parce que c'est La requête est effectuée sur le fragment où se trouvent les données, donc le nœud de connexion n'a pas changé.

7. Ajouter un mot de passe :

7.1 Modifier le fichier redis.conf

#为redis.conf文件添加如下配置。这里设置密码为123456
masterauth 123456
requirepass 123456
Copier après la connexion

7.2 Modifier le fichier docker-compose.yml

#为docker-compose.yml中每个容器添加如下配置:
environment:
  - REDISCLI_AUTH=123456
Copier après la connexion
# 🎜🎜#7.3 Connectez-vous au cluster

redis-cli -c -h 192.168.66.180 -p 6379 -a 123456
Copier après la connexion

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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 utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

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 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 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 changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

See all articles