Django

Django & Docker

Dockerfile, docker-compose, multi-stage builds, volumi, reti, sviluppo vs produzione

20 domande da colloquio·
Senior
1

Quale immagine base è raccomandata per un'applicazione Django in produzione?

Risposta

L'immagine python:3.x-slim è raccomandata perché offre un equilibrio tra dimensioni ridotte e compatibilità. Contiene le librerie essenziali evitando dipendenze superflue delle immagini complete. Le immagini Alpine, sebbene più leggere, possono causare problemi di compatibilità con alcune librerie Python compilate (come psycopg2).

2

Qual è il principale vantaggio di un multi-stage build per un'applicazione Django?

Risposta

Il multi-stage build riduce significativamente le dimensioni dell'immagine finale separando l'ambiente di build (con tutti gli strumenti di compilazione) dall'ambiente di esecuzione. Le dipendenze vengono compilate in una prima fase, poi solo i file necessari vengono copiati nell'immagine finale, escludendo strumenti di build, file temporanei e cache.

3

In un docker-compose.yml, come garantire che il container Django attenda finché PostgreSQL non è pronto ad accettare connessioni?

Risposta

La direttiva depends_on da sola garantisce solo l'avvio del container, non la disponibilità del servizio. Per attendere finché PostgreSQL non è realmente pronto, occorre usare uno script wait-for-it.sh o dockerize, oppure la condizione service_healthy con un healthcheck. Questo approccio evita errori di connessione all'avvio dell'applicazione Django.

4

Qual è la differenza tra COPY e ADD in un Dockerfile per un'applicazione Django?

5

Come ottimizzare la cache dei layer Docker durante l'installazione delle dipendenze Python?

+17 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis