Herstellen einer Verbindung zu Redis im Docker Container vom Host-Computer aus

8

Ich sehe viele Leute, die damit kämpfen, das Gefühl haben, dass es vielleicht einen Fehler im Containerbild gibt, und andere scheinen ein ähnliches Problem zu verfolgen.

Ich verwende das Standard-Redis-Image auf DockerHub. ( Ссылка )

läuft es so:

%Vor%

Sobald ich drin bin, kann ich den Server starten und einen erneuten Ping vom Container-Image durchführen.

Leider kann ich keine Verbindung zum Redis-Container von meinem Host herstellen.

Ich habe versucht, Einstellung, wie unten.

%Vor%

und entfernte die Bindung von der Konfiguration

und versuchte den geschützten Modus auszuschalten

%Vor%

Ich weiß, dass es die Konfigurationsdatei liest, da ich Ports nur zum Testen geändert habe, und ich konnte das tun.

Ich verwende Windows 10, also ist es vielleicht ein Windows-Netzwerkproblem. Ich habe nie ein Problem mit Docker normalerweise. Ich bin verwirrt

    
user3888307 29.12.2016, 00:00
quelle

1 Antwort

3

Das Problem liegt in Ihrer Bindung. Sie sollten Folgendes festlegen:

%Vor%

Dies setzt redis , um an alle verfügbaren Schnittstellen zu binden. In einer containerisierten Umgebung mit einer Schnittstelle ( eth0 ) und einer Loopback ( lo ) wird Redis an beide der obigen Schnittstellen binden. Sie sollten Sicherheitsmaßnahmen über andere Anweisungen in config file hinzufügen oder externe Tools wie firewalls verwenden. Denn mit diesem Ansatz kann sich jeder mit Ihrem redis Server verbinden.

Die Standardeinstellung ist bind 127.0.0.1 und diese Einstellung bewirkt, dass redis nur auf die Loopback-Schnittstelle wartet und nur von innerhalb des Containers zugänglich ist. (zur Sicherheit)

Um redis mit der benutzerdefinierten Konfigurationsdatei auszuführen:

%Vor%

Jetzt zur Überprüfung auf Docker-Host mit redis-tools installiert:

%Vor%

Sie können sich auch von einem externen Host über:

mit Ihrem redis -Container verbinden %Vor%     
Farhad Farahi 29.12.2016, 07:01
quelle

Tags und Links