Redis
 sql >> Baza danych >  >> NoSQL >> Redis

docker-compose + django + redis - Błąd 111 podczas łączenia z 127.0.0.1:6379. Połączenie odrzucone

127.0.0.1 w Dockerze prawie zawsze oznacza „ten kontener”. Jeśli używasz aplikacji w Docker Compose, to

... konfiguruje jedną sieć dla Twojej aplikacji. Każdy kontener usługi dołącza do sieci domyślnej i jest dostępny przez inne kontenery w tej sieci i wykrywalne przez nich pod nazwą hosta identyczną z nazwą kontenera.

To znaczy w kontekście tego docker-compose.yml pliku, istnieją nazwy hostów redis i web tym punktem na dwóch kontenerach.

Zrobiłeś już jedną z ważnych czynności konfiguracyjnych. Gdy twój kod mówi

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

możesz ustawić zmienną środowiskową, która zastępuje wbudowaną wartość domyślną. Tutaj wystarczy dodać ustawienie zmiennej środowiskowej do pliku docker-compose.yml plik:

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. Jak przechowywać i pobierać słownik za pomocą redis

  2. Jak zastosować warunek „LUB” w poleceniu klawiszy redis

  3. Jak migrować dane Redis™ za pomocą Redis-Shake

  4. Wyjątek limitu czasu po poleceniach asynchronicznych i Task.WhenAny czeka w StackExchange.Redis

  5. Utrzymuj przy życiu dane Redis między docker-compose w dół i w górę w kontenerze Docker