Einführung
Redis ist eine außergewöhnlich schnelle Remote-In-Memory-Datenbanklösung. Das Schlüsselwert-Datenmodell ermöglicht es Redis, große Datensätze zu verarbeiten und gleichzeitig eine hohe Verfügbarkeit und Lese-/Schreibgeschwindigkeiten aufrechtzuerhalten.
NoSQL-Datenbanken wie Redis sollen effizient in verteilten Clustern ausgeführt werden, die horizontal skalieren. Die Verwendung von Docker zur Bereitstellung von Redis in einem Container macht die horizontale Skalierung zu einem routinemäßigen, unkomplizierten Prozess.
In diesem Tutorial wird erläutert, wie Redis in einem Docker-Container bereitgestellt wird im Handumdrehen.
Voraussetzungen
- Zugriff auf eine Befehlszeile
- Eine funktionierende Docker-Installation
- Ein Benutzer mit root oder sudo Privilegien
Starten Sie einen Docker Redis-Container
1. Überprüfen Sie den aktuellen Status des Docker-Dienstes, indem Sie in Ihrem Terminal den folgenden Befehl eingeben:
sudo systemctl status docker
Die Ausgabe bestätigt, dass Docker ausgeführt wird und aktiv ist.
2. Rufen Sie einen Redis-Container ab und starten Sie ihn (my-first-redis ) mit dem docker run
Befehl:
sudo docker run --name my-first-redis -d redis
Der Befehl hat keine Redis-Version angegeben. Das System fährt standardmäßig mit dem Herunterladen der neuesten verfügbaren Version von Redis fort.
3. Überprüfen Sie nach Abschluss des Installationsvorgangs den Status der aktuellen Docker-Container mit docker ps
Befehl:
sudo docker ps
Neben anderen Informationen bietet das System:
- Die eindeutige Container-ID – b36262951bf4
- Zugriffsport – 6379 (Standard-Redis-Portnummer)
- Der definierte Containername – my-first-redis
Mit redis-cli eine Verbindung zu Redis herstellen
Starten Sie das interaktive redis-cli
Befehlsshell mit dem folgenden Befehl:
sudo docker exec -it my-first-redis sh
Sobald Sie auf die interaktive Shell zugreifen, geben Sie redis-cli
ein um eine Verbindung zur Redis-Containerinstanz herzustellen.
Probieren Sie grundlegende Redis-Befehle aus
1. Der Redis ping
Der Befehl ist nützlich, um zu testen, ob eine Verbindung zur Redis-Datenbank aktiv ist:
ping
Die Antwort, PONG , zeigt an, dass die Verbindung erfolgreich war.
2. Schlüsselwertspeicher verwenden das einfachst mögliche Datenmodell. Ein eindeutiger Schlüssel wird mit einem Wert gepaart. Verwenden Sie den set-Befehl, um den Schlüssel name
zu definieren und das Wertepaar als pnap
:
set name pnap
3. Sie können den Wert mit dem eindeutigen Schlüssel name
abrufen und das get
Befehl:
get name
Das Ergebnis ruft das zuvor definierte pnap
ab Wert. Eine Liste der Datentypen und Befehle finden Sie in unserem umfassenden Leitfaden Redis Data Types With Commands.
4. Nachdem Sie die redis-cli-Befehle erkundet haben, geben Sie quit
ein um zur Containerterminal-Oberfläche zurückzukehren.
5. Geben Sie exit
ein um die Verbindung mit dem Docker-Container zu schließen.
Verwenden einer benutzerdefinierten redis.conf-Datei (optional)
Die redis.conf Datei können Sie die Authentifizierung einrichten, Befehle einschränken und andere sicherheitsorientierte Einstellungen definieren.
Wenn Sie eine benutzerdefinierte Redis-Konfigurationsdatei erstellt haben, verwenden Sie den folgenden Befehl, um die Datei beim Containerstart zu laden:
sudo docker run --name my-first-redis -v /myfirstredis/redis.conf:/usr/local/etc/redis/redis.conf -d redis
Der Speicherort der redis.conf Datei in diesem Beispiel ist myfirstredis/redis.conf
Zugriff auf Redis von einem anderen Docker-Container aus
1. Verwenden Sie den --link
Option zum Erstellen und Verbinden eines neuen Containers mit der vorhandenen Redis-Instanz:
sudo docker run -it --rm --name my-second-redis --link my-first-redis:redis -d redis
Der Befehl initiierte einen neuen Redis-Container (my-second-redis ), basierend auf dem anfänglichen Redis-Image. Die my-first-redis Container wird als redis bezeichnet innerhalb des zweiten Containers.
Zusätzlich wird die Datei --rm
Die Option sorgt dafür, dass sich der zweite Container nach dem Verlassen der interaktiven Shell selbst löscht. Diese Aktion ist optional und dient der Ressourcenschonung.
2. Initiieren Sie die interaktive Shell innerhalb von my-second-redis Behälter:
sudo docker exec -it my-second-redis sh
3. Starten Sie die Redis-Befehlszeile in my-second-redis Container und verbinden Sie sich mit my-first-redis (jetzt redis genannt ), mit dem folgenden Befehl:
# redis-cli -h redis
4. Die ursprüngliche my-first-redis Container ist noch aktiv. Der name
Der zuvor erstellte Schlüssel ist verfügbar und kann vom zweiten Container aus aufgerufen werden:
redis:6379> get name
Der resultierende Paarwert ist pnap
.
5. Geben Sie quit
ein um die redis-cli zu verlassen und geben Sie dann exit
ein um zu Ihrem Terminal zurückzukehren:
redis:6379> quit
# exit
Zugriff auf Redis vom Remote-Server
Sie können die Docker-Portweiterleitungsfunktion verwenden, um von Remote-Servern aus auf Redis-Container zuzugreifen.
1. Definieren Sie den Port, der für die Remote-Verbindung verwendet werden soll:
sudo docker run --name my-first-redis -p [port_number]:6379 -d redis
2. Greifen Sie von einem Remote-Server aus auf den Redis-Container zu, indem Sie den Hostnamen oder die IP-Adresse und die neu definierte Portnummer verwenden:
sudo redis-cli -h [host or IP] -p [port_number] -a [password]
Das -a
Authentifizierungs-Flag ist optional. Falls verwendet, fordert es Benutzer auf, ihr Passwort einzugeben, um auf die Redis-Datenbank zuzugreifen.