
Setting Up Redis with Docker Compose

Redis ist ein leistungsstarker In-Memory-Datenspeicher, der als grundlegender Baustein für moderne Anwendungen dient und blitzschnelles Caching, Session-Management und Echtzeit-Analysen ermöglicht. Obwohl Redis selbst unglaublich leistungsstark ist, kann die Verwaltung in einer Entwicklungs- oder Production-Umgebung herausfordernd sein. Hier kommt Docker Compose ins Spiel – damit kannst Du Redis in einer Container-Umgebung mit nur wenigen Codezeilen definieren, konfigurieren und ausführen.
In diesem Guide lernst Du, wie Du eine produktionsreife Redis-Instanz mit Docker Compose einrichtest. Wir behandeln alles von der Basiskonfiguration bis hin zu Datenpersistenz und Sicherheitsmaßnahmen, was diese Lösung perfekt für Entwicklungs- und Production-Umgebungen macht.
Schritt 1: Eine Docker Compose Datei erstellen
Zunächst musst Du eine Docker Compose Datei erstellen. Diese Datei definiert die Services, aus denen Deine Anwendungsumgebung besteht. Wir konzentrieren uns hier auf die Einrichtung von Redis.
Öffne Deinen Texteditor und erstelle eine Datei namens docker-compose.yml
. So sollte sie aussehen:
services:
cache:
image: redis:7.4-alpine
restart: always
ports:
- "6379:6379"
command: redis-server --save 20 1 --loglevel warning --requirepass deinpasswort
volumes:
- cache:/data
volumes:
cache:
driver: local
Lass uns kurz durchgehen, was jeder Teil bewirkt:
- services: Definiert die Services für Deine App. Hier definieren wir einen Service namens
cache
. Hier würdest Du auch andere Services wie eine Datenbank, einen Webserver usw. hinzufügen. - image: Weist Docker Compose an, das Redis 7.4 Image basierend auf Alpine Linux zu verwenden.
- restart: Auf
always
gesetzt, was bedeutet, dass der Container neu startet, wenn er stoppt oder abstürzt. - ports: Verbindet Port 6379 auf Deinem lokalen Rechner mit Port 6379 im Container, sodass Du von Deinem Host aus auf Redis zugreifen kannst.
- command: Passt den Redis-Server-Befehl an.
--save 20 1
teilt Redis mit, die Datenbank alle 20 Sekunden zu speichern, wenn mindestens eine Änderung vorgenommen wurde.--loglevel warning
stellt das Logging so ein, dass nur Warnungen angezeigt werden.--requirepass deinpasswort
setzt ein Passwort für Redis als grundlegende Sicherheitsmaßnahme. Ersetzedeinpasswort
durch ein sicheres Passwort. - volumes: Konfiguriert ein Volume namens
cache
und verbindet es mit/data
im Container. Das stellt sicher, dass Daten auch dann erhalten bleiben, wenn der Container gelöscht oder neu erstellt wird.
Schritt 2: Den Redis-Service starten
Sobald Deine docker-compose.yml
Datei fertig ist, kannst Du den Redis-Service mit folgendem Befehl in Deinem Terminal starten:
docker-compose up -d
Der -d
Flag lässt die Container im Hintergrund laufen. Du solltest eine Ausgabe sehen, die anzeigt, dass der Redis-Service läuft.
Schritt 3: Überprüfen, ob Redis läuft
Um sicherzustellen, dass Redis korrekt läuft, kannst Du die Redis-Kommandozeile (CLI) verwenden. Finde zuerst den Namen Deines Redis-Containers mit:
docker-compose ps
Dann kannst Du die Redis-CLI im Container mit folgendem Befehl ausführen:
docker-compose exec cache redis-cli -a deinpasswort
Ersetze deinpasswort
mit dem Passwort, das Du in der docker-compose.yml
Datei gesetzt hast. In der CLI kannst Du Befehle wie PING
ausführen, um zu prüfen, ob Redis antwortet:
127.0.0.1:6379> PING
PONG
Du kannst auch Keys setzen und abrufen, um weiter zu testen:
127.0.0.1:6379> SET testkey "Hallo, Redis!"
OK
127.0.0.1:6379> GET testkey
"Hallo, Redis!"
Schritt 4: Den Redis-Service stoppen und entfernen
Wenn Du fertig bist, kannst Du den Redis-Service mit folgendem Befehl stoppen:
docker-compose down
Dieser Befehl stoppt und entfernt die Container, die in Deiner docker-compose.yml
Datei definiert sind. Deine Volumes bleiben erhalten!
Indem Du diese Schritte befolgst, hast Du Redis mit Docker Compose eingerichtet, komplett mit Persistenz und grundlegender Sicherheit. Diese Einrichtung kann leicht in größere Anwendungen integriert oder eigenständig für Caching-Zwecke verwendet werden.