Verwendung von Redis in Docker Containern

Bei diesem Text handelt es sich um eine maschinell erstellte Übersetzung. Eine überarbeitete Version ist in Planung.

Die IONOS Community wird ab dem 01.01.2021 nicht mehr verfügbar sein. Wir laden Sie ein, uns auf Twitter oder Facebook zu folgen.

Wenn Sie Fragen zu unseren Produkten haben, finden Sie im IONOS Hilfe-Center weitere Informationen. Alternativ hilft Ihnen unser Support-Team unter @IONOS_hilft gerne weiter.

Einführung

Erfahren Sie, wie Sie Redis in einem Docker-Container einsetzen. Redis ist ein Schlüsselwertspeicher, mit dem Daten blitzschnell gespeichert und abgerufen werden können. Diese Eigenschaften machen es zur ersten Wahl für den Einsatz mit Docker-Containern. Redis ist eines der drei beliebtesten Docker-Bilder.

Anforderungen

  • Ein Cloud Server unter Linux (Ubuntu 14.04 oder CentOS 7)
  • Docker installiert und läuft
  • Vertrautheit mit den grundlegenden Docker-Funktionen und Befehlen

Weitere Informationen zur Installation und Verwendung von Redis finden Sie in unserem Artikel über Redis auf einem Linux Server installieren.  Weitere Informationen zur Installation von Docker finden Sie in unserem Artikel über  Docker auf einem Linux Server installieren und ausführen.

Ausführen von Redis in einem Docker-Container

Dasoffizielles Redis-Bild ist eines der drei beliebtesten Docker-Bilder. Es enthält den Befehl EXPOSE 6379 (den Standard-Redis-Port), der es automatisch für alle verknüpften Container verfügbar macht.

Um eine Redis-Instanz in einem Docker-Container namens my-redis-container auszuführen, verwenden Sie den Befehl:

sudo docker run --name my-redis-container -d redis 

Verbindung zu Redis läuft in einem Docker-Container

Um eine Verbindung zu einer Redis-Instanz von einem anderen Docker-Container aus herzustellen, fügen Sie --link[Redis Containername oder ID]:redis zum Dockerrun-Befehl dieses Containers hinzu.

Um beispielsweise einen Container namens my-redis-application aus dem offiziellen CentOS 7-Image zu starten und ihn mit dem my-redis-Container-Container zu verknüpfen, verwenden Sie den Befehl:

sudo docker run --name my-redis-application --link my-redis-container:redis -d centos

Um eine Verbindung zu einer Redis-Instanz von einem anderen Docker-Container mit einer Befehlszeilenschnittstelle herzustellen, verknüpfen Sie den Container und geben Sie den Host und den Port mit -h redis -p 6379 an.

Zum Beispiel:

sudo docker run -it --name my-redis-cli --link my-redis-container:redis --rm redis redis-cli -h redis -p 6379

Dadurch werden Sie mit dem neuen Container my-redis-cli mit einer redis-cli-Verbindung mit dem my-redis-Container verbunden. Verwenden Sie Strg-P + Strg Q, um diesen Container zu verlassen und zur Befehlszeile zurückzukehren.

Verbindung zu einem Redis-Container von einem Remote-Server aus herstellen

Wenn Sie eine Verbindung zu einem Docker-Container mit Redis von einem entfernten Server aus herstellen möchten, können Sie die Portweiterleitung von Docker verwenden, um auf den Container mit der IP-Adresse oder dem Domänennamen des Hostservers zuzugreifen.

Um die Portforwarding von Docker für Redis zu verwenden, fügen Sie dem Befehl docker run das Flag -p [host port]:6379 hinzu.

Um beispielsweise die Port-Forwarding so einzurichten, dass Sie sich über Port 7001 mit dem Container verbinden können, lautet der Befehl docker run:

sudo docker run --name my-redis-container -p 7001:6379 -d redis

Sie können dann auf einen anderen Server wechseln und mit dem Befehl auf den my-redis-Container-Container zugreifen:

sudo redis-cli -h [host IP or domain name] -p 7001

Wenn beispielsweise der Hostserver, auf dem der Redis-Container läuft, die IP-Adresse 192.168.0.1 ist, können Sie von jedem Server mit dem Befehl aus auf den Redis-Container zugreifen:

sudo redis-cli -h 192.168.0.1 -p 7001

Hinweis: Wenn Sie eine Firewall verwenden, müssen Sie einen externen Zugriff auf die entsprechenden Ports zulassen.

Laden einer benutzerdefinierten redis.conf-Datei

Wenn Sie eine benutzerdefinierte redis.conf-Datei haben, können Sie sie beim Containerstart laden, indem Sie dem Befehl docker run das Flag -v hinzufügen:

 -v [path to custom redis.conf file]:/usr/local/etc/redis/redis.conf

Um beispielsweise die benutzerdefinierte Datei /data/myredis/redis.conf zu laden, lautet der Befehl:

sudo docker run --name my-redis-container -v /data/myredis/redis.conf:/usr/local/etc/redis/redis.conf -d redis