Redis
 sql >> база данни >  >> NoSQL >> Redis

Грешка 99 при свързване с локален хост:6379. Не може да се присвои исканият адрес

В приложението flask имам функция, която се опитва да създаде клиент на redis

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

Когато вашият процес на flask работи в контейнер, localhost се отнася до мрежовия интерфейс на самия контейнер. Не се разрешава в мрежовия интерфейс на вашия хост докер.

Така че трябва да замените localhost с IP адреса на контейнера, изпълняващ redis.

В контекста на файл docker-compose.yml, това е лесно, тъй като docker-compose ще накара имената на услуги да се разрешат до правилния IP адрес на контейнера:

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

след това във вашето приложение flask използвайте:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Региони в стил Azure Cache/DataCache в Redis

  2. Как да определим изтичане на памет в Redis?

  3. Django Celery не може да запитва postgres db вътре в задачата

  4. Предложения за просто решение за разпределено кеширане на .NET

  5. Как да унищожим работни места, наредени от resque работници?