
Django & Docker
Dockerfile, docker-compose, multi-stage builds, volumes, netwerken, ontwikkeling vs productie
1Welke base image wordt aanbevolen voor een Django-applicatie in productie?
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).
2Wat is het belangrijkste voordeel van een multi-stage build voor een Django-applicatie?
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.
3Hoe zorg je er in een docker-compose.yml voor dat de Django-container wacht totdat PostgreSQL klaar is om verbindingen te accepteren?
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.
Wat is het verschil tussen COPY en ADD in een Dockerfile voor een Django-applicatie?
Hoe optimaliseer je Docker layer caching bij het installeren van Python-afhankelijkheden?
+17 gespreksvragen
Andere Django-sollicitatieonderwerpen
Python-basis
Objectgeoriënteerd Python
Django-grondbeginselen
Django Models - Basis
Django Views
Django-templates
Django-formulieren
Geavanceerde QuerySets
Django-authenticatie
Django-middleware
Django Admin
Django REST Framework
Django-signalen
Bestandsupload
Django Caching
Django-sessies
Django E-mail
Django Testen
Django-beveiliging
Django-deployment
Geavanceerde Django ORM
Django-prestaties
Django & Celery
Django Channels
Django & GraphQL
Django in een microservices-ecosysteem
Aangepaste Django-commando's
Django-internationalisatie
Django Design Patterns
Django Async & ASGI
Settings & Productieconfiguratie
Observability & monitoring
Beheers Django voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis