Heim  >  Artikel  >  Datenbank  >  Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

咔咔
咔咔Original
2020-05-21 12:05:493680Durchsuche

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

Die Konfigurationsdatei von redis.conf verstehen

Nach dem Öffnen von redis.conf werden Sie viele nutzlose Informationen sehen

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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 "^$"

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

Zu diesem Zeitpunkt kann es sein redis-test.conf Ändern Sie einige Konfigurationsinformationen

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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

Verstehen Sie die Parameterinformationen des Docker-Ausführungsbefehls

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

Den Redis-Container-Start redis.conf beim Start und Fehler beheben

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.“

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

Dann betreten Sie den Container und Sie werden es finden Unser Problem, direkt nach dem Erstellen des Containers beendet

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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ösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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.

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kannZu 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.

Lösen Sie das Problem, dass der Redis-Container nicht mit redis.conf gestartet werden kann

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn