Django Academy · Les

Best practices voor productie-images

Multistage-builds en gebruikers zonder root gebruiken

Les 4 van 413 stappen

Best practices voor productie-images is een gratis Django Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Django Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Django Academy bevat in totaal 4 lessen.

Kleinere, veiligere images

Een productie-image moet klein en veilig zijn. Een slankere image wordt sneller verzonden, start sneller op en biedt aanvallers minder mogelijkheden om aan te vallen. 🛡️

Builds met meerdere fasen gebruiken

Een multi-stage-build compileert afhankelijkheden in één fase en kopieert alleen de resultaten naar een schone uiteindelijke image.

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

Alleen kopiëren wat je nodig hebt

Kopieer vanuit de builderfase met COPY --from alleen de geïnstalleerde pakketten, zodat compilers en overbodige buildbestanden achterblijven.

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

Nooit als root uitvoeren

Maak een niet-rootgebruiker met USER, zodat een gecompromitteerd proces de container of host niet zomaar kan aanpassen.

RUN adduser --disabled-password appuser
USER appuser

Versies vastzetten

Zet exacte versies vast in requirements.txt, zodat builds reproduceerbaar zijn en nooit onverwacht door een update mislukken.

Django==5.0.6
gunicorn==22.0.0

Geheimen buiten images houden

Geef geheimen tijdens runtime door via environment-variabelen en neem sleutels of wachtwoorden nooit rechtstreeks op in de image.

SECRET_KEY=${SECRET_KEY}

Een gezondheidscontrole toevoegen

Met HEALTHCHECK weet de orkestrator of je container echt actief is en aanvragen verwerkt.

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

DEBUG instellen op False

Draai productie altijd met DEBUG=False, zodat foutpagina's nooit code, instellingen of stacktraces aan gebruikers onthullen.

DEBUG = False

Releases taggen

Geef images een echte version als tag, niet alleen latest, zodat je altijd precies weet wat is uitgerold en kunt terugdraaien.

docker build -t myapp:1.4.0 .

Op kwetsbaarheden scannen

Voer een scan uit op je gebouwde image om bekende kwetsbaarheden in je basisimage en afhankelijkheden vroeg te ontdekken.

docker scout cves myapp:1.4.0

Laagvolgorde voor caching

Plaats stappen die zelden veranderen vooraan en je code achteraan, zodat de meeste rebuilds gebruikmaken van gecachte layers en snel klaar zijn.

Snelle controle

Welke werkwijze maakt je uiteindelijke productie-image het meest direct kleiner?

Samenvatting

Je hebt je image beveiligd: multi-stage-builds, een niet-rootgebruiker, vastgezette versies, geheimen tijdens runtime, gezondheidscontroles en DEBUG uitgeschakeld. Klaar voor productie! 🏁

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Best practices voor productie-images” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Django Academy, waaronder “Best practices voor productie-images”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Django Academy bevat in totaal 4 lessen.

Wat leer ik in “Best practices voor productie-images”?

Multistage-builds en gebruikers zonder root gebruiken Je oefent met Django Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Django Academy te beginnen?

Ervaring vooraf is niet nodig. Django Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Best practices voor productie-images”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Django Academy?

Ja. Elke les over Django Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Een Django-Dockerfile schrijven
  2. docker-compose met Postgres en Redis
  3. Entrypoints, migraties en collectstatic
  4. Best practices voor productie-images
← Terug naar Django Academy