Django

Django & Docker

Dockerfile, docker-compose, multi-stage builds, volumes, netwerken, ontwikkeling vs productie

20 gespreksvragen·
Senior
1

Welke base image wordt aanbevolen voor een Django-applicatie in productie?

Antwoord

De python:3.x-slim image wordt aanbevolen omdat het een balans biedt tussen beperkte grootte en compatibiliteit. Het bevat de essentiële bibliotheken en vermijdt onnodige afhankelijkheden van volledige images. Alpine images zijn weliswaar lichter, maar kunnen compatibiliteitsproblemen veroorzaken met sommige gecompileerde Python-bibliotheken (zoals psycopg2).

2

Wat is het belangrijkste voordeel van een multi-stage build voor een Django-applicatie?

Antwoord

Multi-stage build vermindert de grootte van de uiteindelijke image aanzienlijk door de build-omgeving (met alle compilatietools) te scheiden van de runtime-omgeving. Afhankelijkheden worden in een eerste fase gecompileerd, daarna worden alleen de noodzakelijke bestanden naar de uiteindelijke image gekopieerd, met uitsluiting van build-tools, tijdelijke bestanden en caches.

3

Hoe zorg je er in een docker-compose.yml voor dat de Django-container wacht totdat PostgreSQL klaar is om verbindingen te accepteren?

Antwoord

De depends_on-directive alleen garandeert alleen het opstarten van de container, niet de beschikbaarheid van de service. Om te wachten tot PostgreSQL daadwerkelijk klaar is, moet je een wait-for-it.sh-script of dockerize gebruiken, of de service_healthy-voorwaarde met een healthcheck. Deze aanpak voorkomt verbindingsfouten bij het opstarten van de Django-applicatie.

4

Wat is het verschil tussen COPY en ADD in een Dockerfile voor een Django-applicatie?

5

Hoe optimaliseer je Docker layer caching bij het installeren van Python-afhankelijkheden?

+17 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis