Redis
 sql >> Database >  >> NoSQL >> Redis

Connessione a Redis in esecuzione in Docker Container dal computer host

Il problema è con il tuo legame, dovresti impostare quanto segue:

bind 0.0.0.0

Questo imposterà redis per collegarsi a tutte le interfacce disponibili, in un ambiente containerizzato con un'interfaccia, (eth0 ) e un loopback (lo ) redis si legherà a entrambi i precedenti. Dovresti considerare l'aggiunta di misure di sicurezza tramite altre direttive in config file o utilizzando strumenti esterni come firewalls . perché con questo approccio tutti possono connettersi al tuo redis server.

L'impostazione predefinita è bind 127.0.0.1 e questa impostazione causerà redis per ascoltare solo sull'interfaccia di loopback e sarà accessibile solo dall'interno del contenitore. (per sicurezza)

Per eseguire redis con un file di configurazione personalizzato:

sudo docker run -d --name redis-test -p 6379:6379  -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf

Ora per verificare sull'host Docker con redis-tools installato:

redis-cli                           
127.0.0.1:6379> 
127.0.0.1:6379> set farhad likes:stackoverflow
OK
127.0.0.1:6379> get farhad
"likes:stackoverflow"
127.0.0.1:6379> 

Puoi anche connetterti al tuo redis contenitore da un host esterno tramite:

redis-cli -h 'IP-address-of-dockerhost-running-redis-container'