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

Grafisches Tutorial zur Installation von Linux CentOS6.9 unter VMware

Als technischer Neuling zeichne ich den Vorgang d...

Zwei Möglichkeiten zur Implementierung von Square Div mit CSS

Ziel: Erstelle ein Quadrat, dessen Seitenlänge gl...

Analyse des Prinzips der Verwendung von PDO zur Verhinderung von SQL-Injection

Vorwort Dieser Artikel verwendet die Vorverarbeit...

MySQL-Reihe von Erfahrungszusammenfassungen und Analyse-Tutorials zu NULL-Werten

Inhaltsverzeichnis 1. Testdaten 2. Die Unannehmli...

Der eigentliche Prozess der Einbindung von Axios in das Projekt

Inhaltsverzeichnis Vorwort Vorteile der Axios-Kap...

Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Dieser Artikel veranschaulicht anhand von Beispie...

Beispiel für den Export und Import von Docker-Containern

Inhaltsverzeichnis Docker-Container exportieren D...

So aktivieren Sie das langsame Abfrageprotokoll in MySQL

1.1 Einleitung Durch Aktivieren des Slow Query Lo...

Vue implementiert Ankerpositionierungsfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Sequenzimplementierungsmethode basierend auf MySQL

Das Team ersetzte den neuen Rahmen. Alle neuen Un...

Docker Compose-Installationsmethoden in verschiedenen Umgebungen

1. Online-Installation Derzeit habe ich nur die O...