sql >> Databasteknik >  >> NoSQL >> Redis

docker-compose + django + redis - Fel 111 vid anslutning till 127.0.0.1:6379. Anslutningen vägrades

127.0.0.1 i Docker betyder nästan alltid "denna behållare". Om du kör din applikation under Docker Compose, är det

... ställer in ett enda nätverk för din app. Varje behållare för en tjänst går med i standardnätverket och är båda nåbara av andra behållare på det nätverket och upptäckbara av dem på ett värdnamn som är identiskt med behållarens namn.

Det vill säga inom ramen för denna docker-compose.yml fil, det finns värdnamn redis och web som pekar på de två behållarna.

Du har redan gjort en av de viktiga konfigurationssakerna. När din kod säger

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

du kan ställa in en miljövariabel som åsidosätter det inbyggda standardvärdet. Så här behöver du bara lägga till en miljövariabelinställning till din docker-compose.yml fil:

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. Läsning av DBname.system.indexes misslyckades på Atlas-klustret av mongobee efter att ha blivit ansluten

  2. Använda StackExchange.Redis i en ASP.NET Core Controller

  3. 5 sätt att få protokollet från ett datum i MongoDB

  4. MongoDB C#-drivrutin - Ignorera fält vid bindning