Dieser Artikel implementiert Funktionen
Behebung des Starts und Fehlers von Redis-Containern beim Starten von redis.conf
Kurzes Verständnis einiger Konfigurationen von redis.conf
Parameter des Docker-Run-Befehls verstehen
Nach dem Öffnen von redis.conf werden Sie viele nutzlose Informationen sehen
Wir verwenden den grep-Befehl, um ihn einfach zu verarbeiten, und dann können Sie alle Konfigurationsinformationen von redis.conf sehen, aber der jetzt eingegebene Befehl kann nicht bearbeitet werden
Führen Sie den Befehl aus: cat redis.conf |. grep -v "^$"
Obwohl sich alles geändert hat Konfigurationsinformationen von redis.conf Es wird ausgegeben, kann aber nicht geändert werden. Zu diesem Zeitpunkt können Sie eine redis-test.conf-Datei unter redis sehen
Führen Sie den Befehl aus: cat redis. conf |. grep -v "^$" ->redis-test.conf
Zu diesem Zeitpunkt kann es sein redis-test.conf Ändern Sie einige Konfigurationsinformationen
Hier verstehen wir zunächst einige Konfigurationen, und die nachfolgenden Konfigurationen werden nacheinander in nachfolgende Dateien geschrieben
daemonize no: Redis wird standardmäßig nicht als Daemon-Prozess verwendet. Wenn Sie also redis-server /redis/redis.conf direkt verwenden, ohne die Konfigurationsdatei zu ändern, wird ein Dienst direkt angezeigt, wenn Starten von Redis. Es gibt keine Möglichkeit, dieses Terminal zu bedienen. Sie können nur ein neues Terminal öffnen, um eine Verbindung zu Redis herzustellen.
Aus Sicherheitsgründen muss das Passwort noch festgelegt werden
bind 127.0.0.1: Dieses Konfigurationselement wird normalerweise direkt auskommentiert. Nachdem diese Konfiguration aktiviert wurde, kann nur der lokale Computer eine Verbindung zu Redis herstellen
Die oben genannten Konfigurationsinformationen sind die drei Konfigurationsinformationen, die Sie in diesem Artikel kennen müssen
Der Docker-Run-Befehl dient zum Erstellen eines neuen Containers
Das Folgende ist ein Befehl, den ich zum Erstellen eines Containers verwende: „docker run -itd --restart="always" --name redis -v /usr/ local/docker/data:/data -v /usr/local/docker/redis.conf: /etc/redis.conf --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis:4.0 redis-server /etc /redis.conf`
i: Öffne STDIN, wird für die Konsoleninteraktion verwendet
t: TTY-Geräte zuweisen, die die Terminalanmeldung unterstützen können, der Standardwert ist „false“
d: Geben Sie den Container an, der ausgeführt werden soll. Ob im Vordergrund oder im Hintergrund, der Standardwert ist „false“
v: Mount Fügen Sie das Speichervolumen dem Container hinzu und mounten Sie es in einem Verzeichnis im Container
- -net: Der Container verwendet sein eigenes benutzerdefiniertes Netzwerk
-p: Dies ist die Portnummer
--restart: Gibt den Neustart an, nachdem der Container gestoppt wurde. Richtlinien-Nr.: Nicht neu starten, wenn der Container bei Fehler beendet wird: Neustart Wenn der Container nicht beendet werden kann (Rückgabewert ist ungleich Null), immer: Immer neu starten, wenn der Container beendet wird
Nachdem wir mehrere Parameter von redis.conf und einige allgemeine Parameter von Docker Run kennen, werden wir das Problem des direkten Fehlers beim Starten von redis.conf lösen.
Dann beginnen Sie mit der Erstellung des Containers. „WARNUNG: Die IPv4-Weiterleitung funktioniert nicht.“
Lassen Sie uns das Problem lösen zuerst Dieses Problem
Führen Sie den Befehl `vim /usr/lib/sysctl.d/00-system.conf` aus
Fügen Sie den folgenden Code hinzu: `net.ipv4.ip_forward=1`
Starten Sie den Netzwerkbefehl „systemctl restart network“ neu
Führen Sie ihn aus und es wird kein Problem auftreten
Dann betreten Sie den Container und Sie werden es finden Unser Problem, direkt nach dem Erstellen des Containers beendet
Sind Sie zu diesem Zeitpunkt sehr deprimiert, warum haben Sie den Container direkt verlassen? Aus diesem Grund haben wir oben einige Konfigurationsinformationen zu den Befehlsparametern redis.conf und Docker Run vorgeschlagen.
Zu diesem Zeitpunkt prüfen wir, ob in redis.conf ein „Daemonize-Nein“ vorhanden ist. Dieser Parameter gibt an, ob wir diese Konfiguration während des Entwicklungsprozesses aktivieren und konfigurieren es zu ja.
Dann überprüfen wir, ob der Docker-Ausführungsbefehl einen Parameter „-d“ enthält. Dieser Parameter wird auch als Daemon-Prozess ausgeführt.
Es sollte jetzt klar sein, dass redis.conf mit der Docker-Konfiguration in Konflikt steht
Öffnen Sie die Konfigurationsdatei und ändern Sie den Daemon-Prozess auf Nein
Löschen Sie dann den soeben erstellten Redis-Container und führen Sie den obigen Befehl hier aus. Sie können den Container sehen wurde nun erstellt und befindet sich im geöffneten Zustand.
Zu diesem Zeitpunkt können Sie bei der Eingabe des Containers „docker exec -it redis /bin/bash“ sehen, dass wir ein Passwort eingeben müssen beim Herstellen einer Verbindung zu redis-cli Dies ist auch in redis.conf konfiguriert.
Das Obige ist Kakas Lösung, um das Problem zu lösen, dass der Redis-Container nicht mit redis.conf gestartet werden kann
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!