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 SchritteDas 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! DatenspeicherungRedis 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 ServerDer 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-SicherheitStandardmäß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-InstallationNachdem 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. 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. ZusammenfassungMit 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:
|
<<: Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten
>>: Drei Beispiele für Unschärfe-Hintergrundeffekte mit CSS3
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
Dieser Abschnitt bietet einen Überblick über eini...
(1) Jedes HTML-Tag hat ein Attribut style, das CS...
In diesem Artikel wird der spezifische Code von U...
Erstellen Sie einen MySQL-Benutzer und autorisier...
Inhaltsverzeichnis 1. Was ist der Nutzen von Prov...
1. Starten Sie den Docker-Container Starten Sie m...
1. Hintergrund Die folgenden zwei Probleme treten...
Inhaltsverzeichnis Frage Hintergrund Idee & U...
1. Overlay-Übersicht Overlay bedeutet Überlagerun...
Wählen Sie bei der Installation der CentOS7-Versi...
Remotebereitstellung der MySQL-Datenbank unter Li...
1. Jenkins-Installationsschritte: https://www.jb5...
Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...
Inhaltsverzeichnis Problem 1: Zerstörung 1. Wie m...