Django Academy · Lektion

docker-compose med Postgres och Redis

Kör hela stacken med ett enda kommando

Lektion 2 av 413 steg

docker-compose med Postgres och Redis är en gratis lektion i Django Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Django Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Django Academy innehåller totalt 4 lektioner.

Ett kommando, hela stacken

docker-compose definierar flera containrar i en enda fil, så att Django, Postgres och Redis startar tillsammans med ett enda kommando. 🧩

compose-filen

Allt finns i docker-compose.yml, där varje container ni behöver blir en post under nyckeln services.

services:
  web:
  db:
  redis:

web-tjänsten

Er web-tjänst byggs från Dockerfile och kör Django, stackens centrala del.

web:
  build: .
  command: gunicorn config.wsgi:application --bind 0.0.0.0:8000

Lägg till Postgres

Tjänsten db använder den officiella Postgres-imagen, så att ni får en riktig databas utan att installera något lokalt.

db:
  image: postgres:16

Lägg till Redis

Tjänsten redis kör den officiella Redis-imagen och kan användas som cache eller meddelandekö för Celery.

redis:
  image: redis:7

Anslut med tjänstenamnet

Compose ger varje tjänst ett DNS-namn, så att Django når Postgres via värden db, inte localhost.

DATABASE_URL=postgres://user:pass@db:5432/app

Vänta med depends_on

Använd depends_on så att web startar efter db och redis, vilket ger en rimlig startordning.

web:
  depends_on:
    - db
    - redis

Bevara data med volymer

En namngiven volume lagrar Postgres-data utanför containern, så att raderna överlever omstarter och ombyggnader.

db:
  volumes:
    - pgdata:/var/lib/postgresql/data

Skicka konfiguration som miljövariabler

Skicka hemligheter och inställningar via environment eller en env_file, så att konfigurationen hålls utanför imagen.

db:
  environment:
    POSTGRES_DB: app
    POSTGRES_PASSWORD: pass

Mappa portar till värddatorn

Nyckeln ports vidarebefordrar en containerport till er dator, så att ni kan öppna appen i en webbläsare.

web:
  ports:
    - "8000:8000"

Starta allt

Kör docker compose up så startas hela stacken tillsammans. Lägg till -d för att köra den i bakgrunden.

docker compose up -d

Snabb kontroll

Hur når webbcontainern databasen i Compose?

Sammanfattning

Ni kopplade ihop en fullständig stack i docker-compose: tjänsterna web, db och redis, anslutna via namn, med volymer för data och ett enda kommando för att starta allt. 🚀

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”docker-compose med Postgres och Redis” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Django Academy, inklusive ”docker-compose med Postgres och Redis”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Django Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”docker-compose med Postgres och Redis”?

Kör hela stacken med ett enda kommando Ni övar på Django Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Django Academy?

Du behöver inga förkunskaper. Utbildningen i Django Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”docker-compose med Postgres och Redis”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Django Academy-lektionen?

Ja. Varje Django Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Skriva en Django-Dockerfile
  2. docker-compose med Postgres och Redis
  3. Entrypoints, migreringar och collectstatic
  4. Bästa praxis för produktionsimages
← Tillbaka till Django Academy