sql >> Base de Datos >  >> NoSQL >> Redis

Conexión a Redis ejecutándose en Docker Container desde la máquina Host

El problema está en tu enlace. Debes configurar lo siguiente:

bind 0.0.0.0

Esto establecerá redis para vincular a todas las interfaces disponibles, en un entorno en contenedores con una interfaz, (eth0 ) y un loopback (lo ) redis se unirá a los dos anteriores. Debe considerar agregar medidas de seguridad a través de otras directivas en config file o usando herramientas externas como firewalls . porque con este enfoque todos pueden conectarse a su redis servidor.

La configuración predeterminada es bind 127.0.0.1 y esta configuración hará que redis para escuchar solo en la interfaz de bucle invertido, y solo se podrá acceder desde dentro del contenedor. (por seguridad)

Para ejecutar redis con un archivo de configuración personalizado:

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

Ahora para verificar en el host docker con redis-tools instalado:

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> 

También puede conectarse a su redis contenedor desde un host externo a través de:

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