Django Academy · Lezione

docker-compose con Postgres e Redis

Eseguire l'intero stack con un solo comando

Lezione 2 di 413 passaggi

docker-compose con Postgres e Redis è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Un comando, l'intero stack

docker-compose definisce più container in un unico file, così Django, Postgres e Redis si avviano insieme con un solo comando. 🧩

Il file compose

Tutto si trova in docker-compose.yml, dove ogni container necessario diventa una voce sotto la chiave services.

services:
  web:
  db:
  redis:

Il servizio web

Il servizio web viene creato dal Dockerfile ed esegue Django, il cuore dell'intero stack.

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

Aggiungere Postgres

Il servizio db utilizza l'immagine ufficiale di Postgres, offrendo un database reale senza installare nulla localmente.

db:
  image: postgres:16

Aggiungere Redis

Il servizio redis esegue l'immagine ufficiale di Redis, pronto a fungere da cache o da broker di messaggi per Celery.

redis:
  image: redis:7

Connettersi tramite il nome del servizio

Compose assegna a ogni servizio un nome DNS, quindi Django raggiunge Postgres sull'host db, non su localhost.

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

Attendere con depends_on

Utilizzi depends_on per fare in modo che web si avvii dopo db e redis, mantenendo ordinato l'avvio.

web:
  depends_on:
    - db
    - redis

Rendere persistenti i dati con i volumi

Un volume denominato memorizza i dati di Postgres all'esterno del container, così le righe sopravvivono a riavvii e ricostruzioni.

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

Passare la configurazione come variabili d'ambiente

Passi segreti e impostazioni tramite environment o un env_file, mantenendo la configurazione fuori dall'immagine.

db:
  environment:
    POSTGRES_DB: app
    POSTGRES_PASSWORD: pass

Mappare le porte sull'host

La chiave ports inoltra una porta del container alla macchina, così può aprire l'app nel browser.

web:
  ports:
    - "8000:8000"

Avviare tutto

Eseguite docker compose up e l'intero stack si avvia insieme; aggiungete -d per eseguirlo in background.

docker compose up -d

Verifica rapida

Come raggiunge il database il vostro container web in Compose?

Riepilogo

Avete collegato uno stack completo in docker-compose: i servizi web, db e redis, connessi tramite nome, con volumi per i dati e un unico comando per l'avvio. 🚀

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «docker-compose con Postgres e Redis» è gratuita?

Sì — il testo completo di «docker-compose con Postgres e Redis» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «docker-compose con Postgres e Redis»?

Eseguire l'intero stack con un solo comando Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «docker-compose con Postgres e Redis»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Scrivere un Dockerfile per Django
  2. docker-compose con Postgres e Redis
  3. Entry point, migrazioni e collectstatic
  4. Buone pratiche per le immagini di produzione
← Torna a Django Academy