So verwenden Sie Docker zum Erstellen eines Redis-Master-Slaves

So verwenden Sie Docker zum Erstellen eines Redis-Master-Slaves

1. Erstellen Sie eine Docker-Umgebung

1. Erstellen Sie ein Dockerfile

VON centos:latest
FÜHREN Sie groupadd -r redis && useradd -r -g redis redis aus.
Führen Sie den Befehl yum -y update && yum -y install epel-release && yum -y install redis && yum -y install net-tools aus.
EXPOSE 6379

2. Erstellen Sie ein Image

docker build -t docker-test.

3. Aktuelles Bild ansehen

Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
docker-test latest ccebd30e466a vor 12 Minuten 396 MB
centos latest 470671670cac vor 7 Wochen 237MB

4. Zeigen Sie den Standardnetzwerktyp von Docker an

Docker-Netzwerk ls
NETZWERK-ID-NAME TREIBER-UMFANG
a43e79987e98 Brücke Brücke lokal
6b73067403dc Host Host lokal
b8ad4981e57e keine null lokal

5. Erstellen Sie einen benutzerdefinierten Netzwerktyp

Docker-Netzwerk erstellen --subnet=172.10.0.0/16 haveyb-network

2. Erstellen Sie Redis Master-Slave

1. Erstellen Sie einen Redis-Master-Container

docker run -itd --name redis-master --net haveyb-network -p 6380:6379 --ip 172.10.0.2 docker-test

Parametererklärung:

-i: Führt den Container im interaktiven Modus aus, wird normalerweise mit -t verwendet

-t: weist dem Container ein Pseudo-Eingabeterminal neu zu, normalerweise mit -i verwendet

-d: Führen Sie den Container im Hintergrund aus und geben Sie die Container-ID zurück.

--name: Benennen Sie den erstellten Container

--net: Geben Sie den Netzwerkmodus an (geben Sie hier den gerade erstellten benutzerdefinierten Netzwerkmodus an).

-p: Portzuordnung, das Format ist: Host-Port: Container-Port

--ip: Eine feste IP für den Container festlegen

Anschließend das zu verwendende Image angeben (hier wird das soeben erstellte Image docker-test verwendet)

2. Zeigen Sie den laufenden Container an

Docker ps -a
CONTAINER-ID-BILDBEFEHL ERSTELLT
dc9344bbd25f docker-test "/bin/bash" vor 2 Minuten
 
STATUS-PORTNAMEN
Vor 2 Minuten aktiv 0.0.0.0:6380->6379/tcp redis-master

Hinweis: Zeigen Sie die IP-Adresse eines Containers in einem bestimmten Netzwerk an

Docker-Netzwerk prüfen Haveyb-Netzwerk

3. Erstellen Sie die Container redis-slave1 und redis-slave2

docker run -itd --name redis-slave1 --net haveyb-network -p 6381:6379 --ip 172.10.0.3 docker-test
docker run -itd --name redis-slave2 --net haveyb-network -p 6382:6379 --ip 172.10.0.4 docker-test

4. Konfigurieren Sie den Redis-Master-Container

(1) Geben Sie den Redis-Master-Container ein

Docker Exec -it Redis-Master Bash

Hinweis: Verlassen Sie den Container mit `exit`

(2) Ändern Sie die Konfigurationsdatei redis.conf

vi /etc/redis.conf

(3) Ändern Sie den Parameter bind 127.0.0.1 in 0.0.0.0

binden 0.0.0.0

(4) Legen Sie das Master-Redis-Passwort fest

requirepass IhrePasswortEinstellungen

(5) Starten Sie das Haupt-Redis

redis-server /etc/redis.conf &

(6) Redis-Befehlszeilenschnittstelle

redis-cli
Authentifizieren Sie Ihre Passworteinstellungen

5. Konfigurieren Sie redis-slave1

(1) Geben Sie den Redis-Slave1-Container ein

Docker exec -it redis-slave1 bash

(2) Ändern Sie die Konfigurationsdatei redis.conf

vi /etc/redis.conf

(3) Ändern Sie den Parameter bind 127.0.0.1 in 0.0.0.0

binden 0.0.0.0

(4) Legen Sie Masterauth fest und fügen Sie den folgenden Code hinzu (nachdem der Redis-Master das Kennwort festgelegt hat, wird dieser Parameter benötigt, um die Verbindung vom Redis aus zu überprüfen).

Masterauth IhrPasswortEinstellungen

(5) Slaveof festlegen (IP und Port des Master-Redis festlegen)

Slave von 172.10.0.2 6379

(5) Beginnen Sie mit Redis

redis-server /etc/redis.conf &

(6) Redis-Client

redis-cli

6. Konfigurieren Sie redis-slave2

Gleiche Konfiguration wie redis-slave1

7. Führen Sie `info replication` in redis-cli aus, um die Master-Slave-Informationen anzuzeigen

Redis-Master

127.0.0.1:6379> Info-Replikation
# Replikation
Rolle: Meister
verbundene_Slaves:2
Slave0:IP=172.10.0.3,Port=6379,Status=online,Offset=3105,Lag=1
Slave1:IP=172.10.0.4,Port=6379,Status=online,Offset=3105,Lag=1
master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3105
zweiter_Repl_Offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3105
127.0.0.1:6379>

Redis-Slave1

127.0.0.1:6379> Info-Replikation 
# Replikation
Rolle: Sklave
master_host:172.10.0.2
Master-Port: 6379
master_link_status:aktiv
master_last_io_seconds_ago: 1
Master-Synchronisierung läuft: 0
Slave_Repl_Offset: 3203
Slave-Priorität: 100
Slave_schreibgeschützt: 1
verbundene_Slaves:0
master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3203
zweiter_Repl_Offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3203
127.0.0.1:6379>

8. Schreiben Sie den Schlüssel in Redis-Master, Redis-Slave1 und Redis-Slave2 können ihn bereits erhalten

Dies ist das Ende dieses Artikels über die Schritte zum Verwenden von Docker zum Erstellen eines Redis-Master-Slaves. Weitere relevante Inhalte zum Verwenden von Docker zum Erstellen eines Redis-Master-Slaves finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Implementierung eines Redis Master-Slave-Clusters basierend auf Docker
  • Detaillierte Erläuterung der Redis-Master-Slave-Replikationspraxis mit Docker
  • Verwenden Sie Docker, um einen Redis-Master-Slave-Replikationscluster zu erstellen
  • CentOS 6 verwendet Docker, um ein Beispiel für den Betrieb einer Redis-Master-Slave-Datenbank bereitzustellen
  • Detaillierte Erläuterung des Master-Slave-Konfigurationstutorials von Redis unter Docker
  • Beispielpraxis zum Erstellen von Redis Master-Slave + Sentinel basierend auf Docker

<<:  Eine kurze Erläuterung der Größeneinheiten in CSS

>>:  Klasse in Front-End-JavaScript

Artikel empfehlen

Das WeChat-Applet implementiert das Scrollen von Text

In diesem Artikelbeispiel wird der spezifische Co...

So implementieren Sie Polygonbrechung in Echtzeit mit Threejs

Inhaltsverzeichnis Vorwort Schritt 1: Aufbau und ...

Konfiguration der primären Netzwerk-Portzuordnung für Docker

Portzuordnung Wenn vor dem Start des Docker-Conta...

Methode der Iframe-Anpassung im webresponsiven Layout

Problem <br />Bei responsivem Layout sollte...

Der Einsatz von MySQL Triggern und worauf zu achten ist

Inhaltsverzeichnis Über Trigger Verwendung von Tr...

So zeigen Sie in CocosCreator eine Textur an der Wischposition an

Inhaltsverzeichnis 1. Projektanforderungen 2. Dok...

Prinzip und Anwendung der MySQL-Verbindungsabfrage

Überblick Eine der leistungsstärksten Funktionen ...

Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Die Verwendung der Clear-Eigenschaft zum Löschen v...

Detaillierte Erklärung und Zusammenfassung der URL zur Datenbankverbindung

Detaillierte Erklärung und Zusammenfassung der UR...

Langsame MySQL-Abfrage: Langsame Abfrage aktivieren

1. Was nützt eine langsame Abfrage? Es kann alle ...

Verwenden Sie „overflow: hidden“, um Seiten-Bildlaufleisten zu deaktivieren

Code kopieren Der Code lautet wie folgt: html { Ü...

So ändern Sie das Root-Passwort von MySQL unter Linux

Vorwort Der Dienst wird seit mehreren Monaten auf...