Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Erro 99 ao conectar-se ao localhost:6379. Não é possível identificar o endereço indicado


No aplicativo do flask eu tenho uma função que tenta criar um cliente redis
db = redis.Redis(host='localhost', port=6379, decode_responses=True)

Quando seu processo de frasco é executado em um contêiner, localhost refere-se à interface de rede do próprio contêiner. Ele não resolve para a interface de rede do host do docker.

Então você precisa substituir localhost com o endereço IP do contêiner executando redis.

No contexto de um arquivo docker-compose.yml, isso é fácil, pois o docker-compose fará com que os nomes dos serviços sejam resolvidos para o endereço IP do contêiner correto:
version: "3"
services:
  my_flask_service:
    image: ...
  my_redis_service:
    image: ...

então, no seu aplicativo de frascos, use:
db = redis.Redis(host='my_redis_service', port=6379, decode_responses=True)