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

Detailliertes Tutorial zum Bereitstellen von Springboot oder Nginx mit Kubernetes

1 Einleitung Nachdem „Maven Springboot mit einem ...

Beispiele und bewährte Vorgehensweisen für die Seitennummerierung

<br />Struktur und Hierarchie reduzieren die...

js+canvas realisiert Code-Regeneffekt

In diesem Artikel wird der spezifische Code des j...

MySQL etabliert eine effiziente Indexbeispielanalyse

Dieser Artikel beschreibt anhand von Beispielen, ...

So verhindern Sie, dass sich vsftpd-Benutzer über SSH anmelden

Vorwort vsftp ist eine benutzerfreundliche und si...

Linux-Plattform MySQL ermöglicht Remote-Login

Während des Entwicklungsprozesses stoße ich häufi...

So konfigurieren Sie MySQL8 in Nacos

1. Erstellen Sie die MySQL-Datenbank nacos_config...

Über die „Berufskrankheit“ der Designer

Ich habe immer das Gefühl, dass Designer die sens...

js zur Realisierung der Web-Message-Board-Funktion

In diesem Artikelbeispiel wird der spezifische JS...

Die Darstellung und Öffnungsmethode eines Hyperlinks

<br />Verwandte Artikel: So rufen Sie einen ...

So fragen Sie doppelte Daten in einer MySQL-Tabelle ab

INSERT INTO hk_test(Benutzername, Passwort) VALUE...

Eine detaillierte Einführung in Linux-Dateiberechtigungen

Die Stärke von Linux liegt in seinem Mehrbenutzer...