Django

Django & Docker

Dockerfile, docker-compose, multi-stage builds, volúmenes, redes, desarrollo vs producción

20 preguntas de entrevista·
Senior
1

¿Qué imagen base se recomienda para una aplicación Django en producción?

Respuesta

La imagen python:3.x-slim se recomienda porque ofrece un equilibrio entre tamaño reducido y compatibilidad. Contiene las bibliotecas esenciales evitando las dependencias superfluas de las imágenes completas. Las imágenes Alpine, aunque más ligeras, pueden causar problemas de compatibilidad con algunas bibliotecas Python compiladas (como psycopg2).

2

¿Cuál es la principal ventaja de un multi-stage build para una aplicación Django?

Respuesta

El multi-stage build permite reducir significativamente el tamaño de la imagen final al separar el entorno de build (con todas las herramientas de compilación) del entorno de ejecución. Las dependencias se compilan en una primera etapa, luego solo los archivos necesarios se copian a la imagen final, excluyendo herramientas de build, archivos temporales y cachés.

3

En un docker-compose.yml, ¿cómo garantizar que el contenedor Django espere a que PostgreSQL esté listo para aceptar conexiones?

Respuesta

La directiva depends_on por sí sola solo garantiza el inicio del contenedor, no la disponibilidad del servicio. Para esperar a que PostgreSQL esté realmente listo, hay que usar un script wait-for-it.sh o dockerize, o la condición service_healthy con un healthcheck. Este enfoque evita errores de conexión al iniciar la aplicación Django.

4

¿Cuál es la diferencia entre COPY y ADD en un Dockerfile para una aplicación Django?

5

¿Cómo optimizar la caché de layers de Docker al instalar las dependencias de Python?

+17 preguntas de entrevista

Domina Django para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis