0Pricing
Django Academy · Lezione

Buone pratiche per le immagini di produzione

Usare build multi-stage e utenti non root

Buone pratiche per le immagini di produzione è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Immagini più piccole e sicure

Un'immagine per la produzione dovrebbe essere small e sicura. Un'immagine più leggera viene distribuita più rapidamente, si avvia prima e offre agli attaccanti meno elementi da colpire. 🛡️

Usate build multi-stage

Una build multi-stage compila le dipendenze in uno stage e copia solo i risultati in un'immagine finale pulita.

FROM python:3.12 AS builder
FROM python:3.12-slim AS final

Copiate solo ciò che serve

Dallo stage di build, usate COPY --from solo per i pacchetti installati, lasciando indietro compilatori e file superflui della build.

COPY --from=builder /usr/local/lib/python3.12 /usr/local/lib/python3.12

Non eseguite mai come root

Create un USER non-root, così un processo compromesso non potrà modificare liberamente il container o l'host.

RUN adduser --disabled-password appuser
USER appuser

Bloccate le versioni

Bloccate le versions esatte in requirements.txt, così le build saranno riproducibili e non si interromperanno a causa di aggiornamenti imprevisti.

Django==5.0.6
gunicorn==22.0.0

Tenete i secret fuori dalle immagini

Passate i secret tramite variabili di environment a runtime; non inserite mai chiavi o password direttamente nell'immagine.

SECRET_KEY=${SECRET_KEY}

Aggiungete un controllo dello stato

HEALTHCHECK permette all'orchestratore di sapere se il container è realmente attivo e sta gestendo le richieste.

HEALTHCHECK CMD curl -f http://localhost:8000/health || exit 1

Impostate DEBUG su False

Eseguite sempre la produzione con DEBUG=False, così le pagine di errore non divulgheranno agli utenti codice, impostazioni o stack trace.

DEBUG = False

Contrassegnate le release

Contrassegnate le immagini con una version reale, non soltanto con latest, così saprete sempre esattamente cosa è distribuito e potrete eseguire il rollback.

docker build -t myapp:1.4.0 .

Cercate le vulnerabilità

Eseguite una scan sull'immagine compilata per rilevare tempestivamente le vulnerabilità note presenti nell'immagine di base e nelle dipendenze.

docker scout cves myapp:1.4.0

Ordine dei layer per la cache

Posizionate prima i passaggi che cambiano raramente e il codice per ultimo, così la maggior parte delle ricompilazioni riutilizzerà i layers nella cache e terminerà rapidamente.

Verifica rapida

Quale pratica riduce più direttamente le dimensioni dell'immagine finale per la produzione?

Riepilogo

Avete reso più sicura la vostra immagine: build multi-stage, utente non-root, versioni bloccate, secret a runtime, controlli dello stato e DEBUG disattivato. Pronta per la produzione! 🏁

Domande Frequenti

La lezione «Buone pratiche per le immagini di produzione» è gratuita?

Sì — il testo completo di «Buone pratiche per le immagini di produzione» è 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 «Buone pratiche per le immagini di produzione»?

Usare build multi-stage e utenti non root 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 4 di 4.

Quanto tempo richiede la lezione «Buone pratiche per le immagini di produzione»?

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