docker-compose med Postgres och Redis
Kör hela stacken med ett enda kommando
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:8000Lä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:16Lä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:7Anslut 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/appVä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
- redisBevara 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/dataSkicka 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: passMappa 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 -dSnabb 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. 🚀
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
- Skriva en Django-Dockerfile
- docker-compose med Postgres och Redis
- Entrypoints, migreringar och collectstatic
- Bästa praxis för produktionsimages