So stellen Sie Redis schnell als Docker-Container bereit

So stellen Sie Redis schnell als Docker-Container bereit

Redis ist ein In-Memory-Schlüssel-Wert-Speicher, der leistungsstarke abstrakte Datenstrukturen enthalten kann. Open-Source-Software wird häufig für Datenbank-, Messaging- und Caching-Funktionen verwendet.

Docker ist das führende Toolkit zum Verpacken von Anwendungen in Containern. Es ermöglicht Ihnen, Softwarekomponenten in unabhängigen Umgebungen mit eigenen Dateisystemen zu isolieren.

In dieser Anleitung verwenden wir Docker, um Redis mithilfe des offiziellen Images auf Docker Hub schnell bereitzustellen. Docker ermöglicht im Vergleich zu einer Bare-Metal-Installation einen viel einfacheren Einrichtungsprozess und belastet Ihren Hostcomputer nicht mit neuen Paketen. Bevor Sie fortfahren, stellen Sie sicher, dass auf Ihrem Hostcomputer eine funktionierende Docker-Installation vorhanden ist.

Erste Schritte

Das Redis-Image enthält die Serverkomponenten und die offizielle CLI. Es ist vorkonfiguriert, den Server mit laufenden Standardkonfigurationswerten zu starten, wenn Sie einen neuen Container starten.

Es sind Varianten des Images verfügbar, um verschiedene Redis-Versionen (5.0 und 6.0) und Betriebssysteme (Alpine und Debian) abzudecken. Durchsuchen Sie die Liste der Tags, um die beste Option für Ihre Umgebung zu finden.

Die einfachste Bereitstellung erfolgt wie folgt:

docker run --name redis -d -p 6379:6379 redis:6.0

Dadurch wird ein neuer Container mit dem Namen „Redisrunning Redis 6.0“ gestartet. Das Flag -d wird zum Trennen vom Container verwendet. Der Server läuft im Hintergrund weiter, bis Sie ihn mit „Docker Stop Redis“ stoppen.

Redis lauscht standardmäßig auf Port 6379. Das Flag -p bindet diesen Port an Ihren Host. Ihre Anwendung kann unter localhost:6379 auf Redis zugreifen. Bitte beachten Sie, dass dies nicht sicher ist – wenn Ihr Computer dem Internet ausgesetzt ist, kann jeder auf Ihre Redis-Daten zugreifen!

Datenspeicherung

Redis unterstützt mehrere Persistenzmechanismen zum Speichern Ihrer In-Memory-Datenbank auf der Festplatte. Die Daten werden im Verzeichnis /data innerhalb des Containers gespeichert. Da Docker-Container flüchtig sind, müssen Sie das Volume in diesem Verzeichnis bereitstellen. Andernfalls gehen Ihre Daten verloren, wenn Ihr Container stoppt.

docker run --name redis -d \
    -v Redis-Daten:/Daten
    redis:6.0 --speichern 60 1

Das Flag --save wird an den Redis-Server übergeben. Es konfiguriert die zu verwendende Persistenzstrategie. Dieses Beispiel schreibt jede Sekunde einen Datenbank-Snapshot 60. Dieser Vorgang wird übersprungen, sofern seit dem letzten Snapshot nicht 1 Datenbankschreibvorgang erfolgt ist.

Durch das Flag -v wird ein Docker-Volume namens „Redis-Data“ erstellt. Dadurch werden Ihre Daten außerhalb des Containers gespeichert, sodass sie auch nach einem Neustart zugänglich bleiben. Das Volume bleibt bestehen, bis es durch Ausführen von Docker Volumes RM Redis-Data entfernt wird.

Konfigurieren Sie Ihren Server

Der schnellste Weg, Konfigurationsparameter hinzuzufügen, besteht darin, CLI-Parameter als Teil des Docker-Run-Befehls an den Redis-Server zu übergeben. Das obige Beispiel „–save“ veranschaulicht dies. Alles nach dem Image-Namen im Docker-Run wird an den Befehl übergeben, der im Container ausgeführt wird. Für das Redis-Image ist der Befehl der Redis-Server.

Die Verwendung der CLI-Flags kann schnell langweilig werden. Sie können Redis dazu bringen, eine Konfigurationsdatei zu verwenden, indem Sie den Pfad als erstes Argument an den Server übergeben. Diese Datei befindet sich normalerweise unter /usr/local/etc/redis/redis.conf. Verwenden Sie Docker, um redis.conf vom lokalen Dateisystem, das im Container gemountet ist, per Bind-Mount zu mounten:

docker run --name redis -d \
    -v Redis-Daten:/Daten
    -v ./redis-conf:/usr/local/etc/redis
    redis:6.0 /usr/local/etc/redis.conf

Platzieren Sie eine redis.conf in redis-conf in Ihrem Arbeitsverzeichnis. Docker mountet diesen Pfad in den Container und ermöglicht Redis so den Zugriff auf die im Docker-Run-Befehl angegebenen Dateien.

Verwalten der Redis-Sicherheit

Standardmäßig ist das Redis-Docker-Image so konfiguriert, dass Redis im ungeschützten Modus ausgeführt wird. Dies erleichtert den Zugriff auf den Redis-Server von anderen Docker-Containern über das Docker-Netzwerk. Dies bedeutet jedoch auch, dass alles, was Ihren Container erreichen kann, vollen Zugriff auf Ihre Daten hat.

Der geschützte Modus ist eine Funktion von Redis, die nur auf nicht authentifizierte Abfragen reagiert, die von der Loopback-Adresse des Hosts, z. B. localhost, gesendet werden. Sie können dies aktivieren, indem Sie protected-mode yes zu Ihrer redis.conf hinzufügen. Bei Verwendung mit einer Docker-Installation führt dies dazu, dass Redis nur innerhalb seines eigenen Containers zugänglich ist, was im Allgemeinen nicht ideal ist.

Sie können dies aktivieren, indem Sie Ihrer redis.conf das Beispiel requirepass hinzufügen. Redis akzeptiert nur Abfragen von Clients, die das konfigurierte Passwort angeben. Redis 6 unterstützt außerdem umfassendere Zugriffskontrollen, sodass Sie mehrere Benutzerkonten mit unterschiedlichen Berechtigungen einrichten können.

Um die Authentifizierung zu verwenden, befolgen Sie die Anweisungen im vorherigen Abschnitt, um eine Redis-Konfigurationsdatei zu erstellen und sie in Ihren Container einzubinden. Wenn Sie kein Kennwort festlegen möchten, können Sie Ihre Installation sichern, indem Sie sie einfach dem für Ihre Anwendung erforderlichen Docker-Netzwerk hinzufügen. Binden Sie Port 6379 nicht an Ihren Host, ohne vorher die Authentifizierung eingerichtet zu haben.

Verwenden Ihrer Redis-Installation

Nachdem Redis nun vollständig eingerichtet ist, können Sie von Ihrem Client aus darauf zugreifen. Wenn Sie die Verbindung vom Host aus herstellen, können Sie die IP des Docker-Containers (sichtbar durch Ausführen von „docker inspect redis“, anpassen entsprechend dem Containernamen) und Port 6379 verwenden.

Um von einem anderen Docker-Container auf Redis zuzugreifen, schließen Sie am besten beide Container zu einem Docker-Netzwerk zusammen:

Docker-Netzwerk erstellt Redis
docker run --name redis --network redis -d redis:6.0
docker run --name api --network redis -d meine-API:neueste

Jetzt kann Ihr Anwendungscontainer auf Redis über Port 6379 auf dem Redis-Hostnamen zugreifen. Wenn sie ein Docker-Netzwerk gemeinsam nutzen, macht Docker den Containernamen als Hostnamen zugänglich.

Bildbeschreibung hier einfügen

Sie können mithilfe der im Container-Image enthaltenen Redis-CLI-Binärdatei manuell mit der Datenbank interagieren. Starten Sie Ihren Container im getrennten Modus ( -d ), damit er im Hintergrund ausgeführt wird. Verwenden Sie dann Docker Exec, um den Redis-CLI-Befehl auszuführen:

Docker exec -it Redis-Container Redis-CLI

Dadurch werden Sie in eine Redis-CLI-Sitzung innerhalb des Containers versetzt.

Zusammenfassung

Mit Docker können Sie schnell und einfach neue Redis-Instanzen starten, ohne die Software auf Ihrem Computer installieren zu müssen. Starten Sie Ihren Container mit dem offiziellen Docker-Image und fügen Sie dann Befehlsflags hinzu oder mounten Sie eine Konfigurationsdatei, die Ihren Anforderungen entspricht.

Zwei Dinge sollten Sie immer im Hinterkopf behalten: Speicherung und Sicherheit: Wenn Sie die Persistenzfunktionen von Redis verwenden müssen, sollten Sie Docker-Volumes verwenden, um Datenverlust zu vermeiden. Bedenken Sie, dass Dockerized Redis standardmäßig im ungeschützten Modus ist und keine Authentifizierung erfordert, sodass die Freigabe von Port 6379 im schlimmsten Fall katastrophale Folgen haben könnte.

Dies ist das Ende dieses Artikels zum schnellen Bereitstellen von Redis als Docker-Container. Weitere Informationen zum Bereitstellen von Redis als Docker-Container finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Einführung in die Schritte zum Bereitstellen von Redis in einem Docker-Container

<<:  Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

>>:  Drei Beispiele für Unschärfe-Hintergrundeffekte mit CSS3

Artikel empfehlen

Mehrere Methoden zum Ändern des MySQL-Root-Passworts (empfohlen)

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

W3C Tutorial (16): Weitere W3C Aktivitäten

Dieser Abschnitt bietet einen Überblick über eini...

Vier Möglichkeiten, CSS und HTML zu kombinieren

(1) Jedes HTML-Tag hat ein Attribut style, das CS...

Uniapp realisiert gleitenden Scoring-Effekt

In diesem Artikel wird der spezifische Code von U...

Beispiele für die Verwendung von „Provide“ und „Inject“ in Vue2.0/3.0

Inhaltsverzeichnis 1. Was ist der Nutzen von Prov...

Beim Bereitstellen von rabbitmq mit Docker sind zwei Probleme aufgetreten

1. Hintergrund Die folgenden zwei Probleme treten...

js Promise-Methode zur gleichzeitigen Steuerung

Inhaltsverzeichnis Frage Hintergrund Idee & U...

Detaillierte Erklärung der Kartenüberlagerung in OpenLayers6

1. Overlay-Übersicht Overlay bedeutet Überlagerun...

CentOS 7-Methode zum Ändern des Gateways und Konfigurieren des IP-Beispiels

Wählen Sie bei der Installation der CentOS7-Versi...

Detaillierte Schritte zur Remotebereitstellung einer MySQL-Datenbank unter Linux

Remotebereitstellung der MySQL-Datenbank unter Li...

So vergessen Sie das Passwort von Jenkins in Linux

1. Jenkins-Installationsschritte: https://www.jb5...

So verwalten Sie zwischengespeicherte Seiten in Vue

Inhaltsverzeichnis Problem 1: Zerstörung 1. Wie m...