sql >> Database >  >> NoSQL >> Redis

Verbinding maken met Redis in Docker Container vanaf hostcomputer

Het probleem ligt bij uw binding. U moet het volgende instellen:

bind 0.0.0.0

Hiermee wordt redis . ingesteld om te binden aan alle beschikbare interfaces, in een gecontaineriseerde omgeving met één interface, (eth0 ) en een loopback (lo ) redis bindt aan beide bovenstaande. U zou moeten overwegen om beveiligingsmaatregelen toe te voegen via andere richtlijnen in config file of met behulp van externe tools zoals firewalls . omdat met deze aanpak iedereen verbinding kan maken met uw redis server.

De standaardinstelling is bind 127.0.0.1 en deze instelling veroorzaakt redis om alleen te luisteren op de loopback-interface, en het is alleen toegankelijk vanuit de container. (voor beveiliging)

Redis uitvoeren met aangepast configuratiebestand:

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

Nu verifiëren op docker-host met redis-tools geïnstalleerd:

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> 

U kunt ook verbinding maken met uw redis container van een externe host via:

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


  1. Redis gebruiken als LRU-cache voor postgres

  2. Redis Vue-bureaublad

  3. Voordelen van MongoDB | Nadelen van MongoDB

  4. PHP opstarten Kan dynamische bibliotheek php_mongo.dll niet laden