Redis
 sql >> Base de données >  >> NoSQL >> Redis

Erreur 99 lors de la connexion à localhost :6379. Impossible d'attribuer l'adresse demandée

Dans l'application flask, j'ai une fonction qui essaie de créer un client redis

db = redis.Redis(host='localhost', port=6379, decode_responses=True)

Lorsque votre processus de flacon s'exécute dans un conteneur, localhost fait référence à l'interface réseau du conteneur lui-même. Il ne se résout pas à l'interface réseau de votre hôte Docker.

Vous devez donc remplacer localhost avec l'adresse IP du conteneur exécutant redis.

Dans le contexte d'un fichier docker-compose.yml, c'est simple car docker-compose résoudra les noms de service en l'adresse IP correcte du conteneur :

version: "3"
services:
  my_flask_service:
    image: ...
  my_redis_service:
    image: ...

puis dans votre application flask, utilisez :

db = redis.Redis(host='my_redis_service', port=6379, decode_responses=True)