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

Accéder à redis localement sur docker - docker compose

L'utilisation de localhost dans le conteneur docker n'est pas valide car localhost signifie pour le conteneur son propre conteneur, donc si vous exécutez redis-cli à partir du conteneur Web, redis-cli essaie de trouver redis dans le conteneur Web au lieu du conteneur redis.

Vous devez spécifier le nom du service redis - docker (le réseau de docker-compose pour être plus précis) résoudra pour votre nom de service l'adresse IP du conteneur de redis, vous devez donc utiliser :

redis-cli -h redis ping

la sortie attendue est :

PONG

Modifier :

Cette réponse ne fonctionnera que si les deux services utilisent le même mode réseau, il y a donc 2 façons :

  1. Ajoutez network_mode:host au service Web, puis "localhost" pour redis, tout ira bien
  2. Supprimez network_mode:host de redis, puis le domaine "redis" ira bien