Inhaltsverzeichnis
1. Cluster-Konfiguration
docker-compose.yml-Dateiinhalt ist wie folgt:
6. Test
cluster nodes
Nach dem Login kopieren
" >
cluster nodes
Nach dem Login kopieren
Hinweis: Dies basiert auf beim Slicing Automatisch auf den Knoten umgeschaltet, auf dem sich der Daten-Shard befindet, sodass Sie unten sehen können, dass sich der verbundene Knoten in 192.168.1.4:6380
Heim Datenbank Redis Wie Docker-Compose einen Redis-Cluster erstellt

Wie Docker-Compose einen Redis-Cluster erstellt

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

1. Cluster-Konfiguration

  • 3 Master + 3 Slaves

  • dient nur zum Testen, Daher verwende ich hier nur 1 Server für die Simulation redis.conf

  • , um ein Verzeichnis auf dem Server zu erstellen, in dem die Redis-Cluster-Bereitstellungsdateien gespeichert werden. Der Pfad, den ich hier eingegeben habe, ist /root/redis-cluster

Erstellen Sie redis-1, redis-2, redis-3, redis-4, redis- im Verzeichnis /opt/docker/redis-cluster 5. redis-6-Ordner

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
Nach dem Login kopieren

3. Erstellen Sie unter jedem redis-*-Ordner eine redis.conf-Datei und schreiben Sie den folgenden Inhalt: Wie Docker-Compose einen Redis-Cluster erstellt

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

Hinweis: Die Portwerte ​​Es können nicht alle 6379 sein. Legen Sie gemäß den in der Redis-Liste oben festgelegten Portnummern die Portnummern 6379~6384 für Redis-1 ~ Redis-6 in der Reihenfolge

4 fest. Schreiben Sie den Docker-Compose .yml-Datei #🎜 🎜#

Verwenden Sie hier direkt die Redis-Spiegeladresse daocloud.io/library/redis:6.0.4

, um docker-compose.yml in /root/redis zu erstellen -Cluster-Dokument.

docker-compose.yml-Dateiinhalt ist wie folgt:

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"]
Nach dem Login kopieren

Starten Sie den Container und führen Sie den Befehl aus:

#启动容器
docker-compose -f xxx.yaml up -d
Nach dem Login kopieren

# 🎜🎜## 🎜🎜#5. Öffnen Sie den Cluster

Hier wähle ich redis-1 zum Betreten. Geben Sie nach dem Betreten des Containers den folgenden Befehl ein, um den Cluster zu starten:

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
Nach dem Login kopieren

Das folgende Bild zeigt den Erfolg an.

Wie Docker-Compose einen Redis-Cluster erstellt

6. Test

Verwenden Sie den Befehl redis-cli, um eine Verbindung zu einem beliebigen Knoten im Cluster herzustellen. Ich habe es gerade auf einem Computer getestet, der die IP-Adresse des Clusters anpingen kann. Hier habe ich den lokalen Computer

6.1 verwendet, um die KnoteneigenschaftenWie Docker-Compose einen Redis-Cluster erstellt

redis-cli -c -h 192.168.66.180 -p 6379
192.168.66.180:6379> cluster info
Nach dem Login kopieren

anzuzeigen, wie unten gezeigt. Das ist der Cluster-Gesundheitsstatus # Achten Sie auf die Schlüsselwörter wie Sklave, Meister, ich selbst usw. im Bild.

Wie Docker-Compose einen Redis-Cluster erstellt

6.3 Wert einfügen

cluster nodes
Nach dem Login kopieren

Hinweis: Dies basiert auf beim Slicing Automatisch auf den Knoten umgeschaltet, auf dem sich der Daten-Shard befindet, sodass Sie unten sehen können, dass sich der verbundene Knoten in 192.168.1.4:6380

get test

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>
Nach dem Login kopieren

geändert hat Dies liegt daran, dass die Abfrage auf dem Shard ausgeführt wird, auf dem sich die Daten befinden, sodass sich der Verbindungsknoten nicht geändert hat. Wie Docker-Compose einen Redis-Cluster erstellt

7. Passwort hinzufügen:

7.1 Bearbeiten Sie die redis.conf-Datei

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>
Nach dem Login kopieren
Wie Docker-Compose einen Redis-Cluster erstellt7.2 Bearbeiten Sie die docker-compose.yml-Datei

#为redis.conf文件添加如下配置。这里设置密码为123456
masterauth 123456
requirepass 123456
Nach dem Login kopieren
# 🎜🎜#7.3 Mit dem Cluster verbinden

#为docker-compose.yml中每个容器添加如下配置:
environment:
  - REDISCLI_AUTH=123456
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie Docker-Compose einen Redis-Cluster erstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

So lesen Sie die Docker -Version So lesen Sie die Docker -Version Apr 15, 2025 am 11:51 AM

Um die Docker -Version zu erhalten, können Sie die folgenden Schritte ausführen: Führen Sie den Befehl Docker "Docker --version" aus, um die Client- und Serverversionen anzuzeigen. Für Mac oder Windows können Sie auch Versionsinformationen über die Registerkarte Version der Docker -Desktop -GUI oder das Menü Docker Desktop anzeigen.

So ändern Sie die Docker -Bildquelle in China So ändern Sie die Docker -Bildquelle in China Apr 15, 2025 am 11:30 AM

Sie können zur Quelle der Inlandsspiegel wechseln. Die Schritte sind wie folgt: 1. Bearbeiten Sie die Konfigurationsdatei /etc/docker/daemon.json und fügen Sie die Spiegelquellenadresse hinzu; 2. Starten Sie den Docker Service Sudo SystemCtl Docker neu, um die Download -Geschwindigkeit und -stabilität des Bilddownloads zu verbessern.

So erstellen Sie einen Spiegel in Docker So erstellen Sie einen Spiegel in Docker Apr 15, 2025 am 11:27 AM

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So speichern Sie das Docker -Bild So speichern Sie das Docker -Bild Apr 15, 2025 am 11:54 AM

Um das Bild in Docker zu speichern, können Sie den Befehl docker comit verwenden, um ein neues Bild zu erstellen, das den aktuellen Status des angegebenen Containers Syntax: Docker Commit [Optionen] Container -ID -Bildname enthält. Um das Bild im Repository zu speichern, können Sie den Befehl Docker Push, Syntax: Docker -Push -Bildname [: Tag] verwenden. Um gespeicherte Bilder zu importieren, können Sie den Befehl Docker Pull, Syntax: Docker Pull Bildname [: Tag] verwenden.

So führen Sie den Befehl Docker aus So führen Sie den Befehl Docker aus Apr 15, 2025 am 11:24 AM

Wie reite ich Docker -Befehle aus? Installieren Sie Docker und starten Sie den Daemon. Common Docker -Befehle: Docker Bilder: Anzeige Bild Docker PS: Anzeige Container Docker Ausführen: Ausführen Container Docker Stopp: Stopp Container Docker RM: Löschen Sie Container Interagieren Sie mit Container mit Docker -Befehl: Dokker Exec: Execute -Befehl Dockker Anhang: Anhängen Konsole Docker Protokolls: Display LOCKER DOCKER Commit Wechsel zum Mirror Stop Dokker

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

See all articles