# Django & Docker (Django) > Dockerfile, docker-compose, multi-stage builds, wolumeny, sieci, środowisko deweloperskie vs produkcyjne - 20 pytań z rozmów - Senior - [Pytania z rozmów: Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne.md) ## 1. 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). ## 2. 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. ## 3. 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. ## Jeszcze 17 dostępnych pytań - 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? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Django - [Podstawy Pythona](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-basics.md): 25 pytań, Junior - [Python obiektowy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-oop.md): 20 pytań, Junior - [Podstawy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-fundamentals.md): 20 pytań, Junior - [Models Django - Podstawy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-models-basics.md): 22 pytań, Junior - [Widoki Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-views.md): 20 pytań, Junior - [Szablony Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-templates.md): 18 pytań, Junior - [Formularze Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-forms.md): 22 pytań, Mid-Level - [Zaawansowane QuerySets](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-querysets.md): 25 pytań, Mid-Level - [Uwierzytelnianie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-authentication.md): 22 pytań, Mid-Level - [Middleware Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-middleware.md): 18 pytań, Mid-Level - [Django Admin](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-admin.md): 20 pytań, Mid-Level - [Django REST Framework](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-rest-framework.md): 30 pytań, Mid-Level - [Sygnały Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-signals.md): 18 pytań, Mid-Level - [Przesyłanie plików](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-file-upload.md): 20 pytań, Mid-Level - [Buforowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-caching.md): 20 pytań, Mid-Level - [Sesje Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-sessions.md): 18 pytań, Mid-Level - [Email w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-email.md): 18 pytań, Mid-Level - [Testowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-testing.md): 22 pytań, Mid-Level - [Bezpieczeństwo Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-security.md): 22 pytań, Mid-Level - [Wdrażanie Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-deployment.md): 24 pytań, Mid-Level - [Zaawansowany Django ORM](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-orm-advanced.md): 28 pytań, Senior - [Wydajność Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-performance.md): 24 pytań, Senior - [Django & Celery](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-celery.md): 22 pytań, Senior - [Django Channels](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-channels.md): 24 pytań, Senior - [Django & GraphQL](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-graphql.md): 24 pytań, Senior - [Django w ekosystemie mikroserwisów](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-microservices.md): 24 pytań, Senior - [Niestandardowe komendy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-custom-commands.md): 18 pytań, Senior - [Internacjonalizacja w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-internationalization.md): 20 pytań, Senior - [Wzorce projektowe w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-design-patterns.md): 24 pytań, Senior - [Django Async i ASGI](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-async-asgi.md): 26 pytań, Senior - [Settings i konfiguracja produkcyjna](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-settings-configuration.md): 22 pytań, Senior - [Observability i monitoring](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-observability.md): 24 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-docker