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

docker-compose + django + redis - Грешка 111 при свързване към 127.0.0.1:6379. връзката е отказана

127.0.0.1 в Docker почти винаги означава "този контейнер". Ако изпълнявате приложението си под Docker Compose, то

... настройва една мрежа за вашето приложение. Всеки контейнер за услуга се присъединява към мрежата по подразбиране и е достижим от други контейнери в тази мрежа и откриваеми от тях при име на хост, идентично с името на контейнера.

Тоест в контекста на този docker-compose.yml файл, има имена на хостове redis и web тази точка в двата контейнера.

Вече сте направили едно от важните неща за конфигуриране. Когато кодът ви казва

REDIS_HOST = os.environ.get('REDIS_HOST', '127.0.0.1')

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

version: '3'
services:
  redis:
    image: "redis:alpine"
  web:
    build: . # current directory
    environment:
      - REDIS_HOST=redis
    ports:
      - "8000:8000"
    # application source code and default command are built into the image


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изключване на Redis

  2. Stackexchange.Redis стреля и забравя ли гарантира доставката?

  3. Как да изолирате приложение за пролетно зареждане redis и глобална сесия за зареждане на пролетно зареждане

  4. Redis:Сбор от Резултати в сортиран набор

  5. redis bgsave не успя, защото fork не може да разпредели памет