
Django & Docker
Dockerfile, docker-compose, multi-stage builds, wolumeny, sieci, środowisko deweloperskie vs produkcyjne
1Który obraz bazowy jest zalecany dla aplikacji Django w produkcji?
Który obraz bazowy jest zalecany dla aplikacji Django w produkcji?
Odpowiedź
Obraz python:3.x-slim jest zalecany, ponieważ oferuje równowagę między małym rozmiarem a kompatybilnością. Zawiera niezbędne biblioteki, unikając zbędnych zależności pełnych obrazów. Obrazy Alpine, choć lżejsze, mogą powodować problemy z kompatybilnością z niektórymi skompilowanymi bibliotekami Pythona (jak psycopg2).
2Jaka jest główna zaleta multi-stage build dla aplikacji Django?
Jaka jest główna zaleta multi-stage build dla aplikacji Django?
Odpowiedź
Multi-stage build znacząco zmniejsza rozmiar finalnego obrazu poprzez oddzielenie środowiska build (ze wszystkimi narzędziami kompilacji) od środowiska uruchomieniowego. Zależności są kompilowane w pierwszym etapie, następnie tylko niezbędne pliki są kopiowane do finalnego obrazu, z wyłączeniem narzędzi build, plików tymczasowych i cache.
3W pliku docker-compose.yml, jak zapewnić, że kontener Django czeka, aż PostgreSQL będzie gotowy do przyjmowania połączeń?
W pliku docker-compose.yml, jak zapewnić, że kontener Django czeka, aż PostgreSQL będzie gotowy do przyjmowania połączeń?
Odpowiedź
Sama dyrektywa depends_on gwarantuje tylko uruchomienie kontenera, a nie dostępność usługi. Aby poczekać, aż PostgreSQL będzie faktycznie gotowy, należy użyć skryptu wait-for-it.sh lub dockerize, albo warunku service_healthy z healthcheck. To podejście zapobiega błędom połączenia podczas uruchamiania aplikacji Django.
Jaka jest różnica między COPY a ADD w pliku Dockerfile dla aplikacji Django?
Jak zoptymalizować cache warstw Docker podczas instalacji zależności Python?
+17 pytań z rozmów
Inne tematy rekrutacyjne Django
Podstawy Pythona
Python obiektowy
Podstawy Django
Models Django - Podstawy
Widoki Django
Szablony Django
Formularze Django
Zaawansowane QuerySets
Uwierzytelnianie w Django
Middleware Django
Django Admin
Django REST Framework
Sygnały Django
Przesyłanie plików
Buforowanie w Django
Sesje Django
Email w Django
Testowanie w Django
Bezpieczeństwo Django
Wdrażanie Django
Zaawansowany Django ORM
Wydajność Django
Django & Celery
Django Channels
Django & GraphQL
Django w ekosystemie mikroserwisów
Niestandardowe komendy Django
Internacjonalizacja w Django
Wzorce projektowe w Django
Django Async i ASGI
Settings i konfiguracja produkcyjna
Observability i monitoring
Opanuj Django na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo