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'