Ejercicio de programación: Reto multi stage
Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Docker. Es un ejercicio de nivel intermedio que requiere conocimientos sólidos de la tecnología.
Información adicional del ejercicio
Crear un Dockerfile con multi-stage build para optimizar una aplicación Java 21 Spring Boot con Maven, separando la compilación de la ejecución.
Contenido del ejercicio
Crea el contenido de un Dockerfile que utilice multi-stage build para una aplicación Java 21 Spring Boot con Maven.
El objetivo es separar el proceso de compilación del runtime final para obtener una imagen optimizada.
Debes crear dos stages:
Stage de build (nómbralo builder
):
- Usa la imagen base
maven:3.9-eclipse-temurin-21
- Establece el directorio de trabajo en
/app
- Copia primero solo
pom.xml
para aprovechar el cache de Docker - Ejecuta
mvn dependency:go-offline
para descargar dependencias - Copia el resto del código fuente
- Ejecuta
mvn clean package -DskipTests
para compilar la aplicación
Stage de producción (nómbralo production
):
- Usa la imagen base
eclipse-temurin:21-jre-alpine
- Establece el directorio de trabajo en
/app
- Copia el JAR compilado desde el stage
builder
ubicado en/app/target/*.jar
y renómbralo aapp.jar
- Expone el puerto 8080
- Define el comando para ejecutar la aplicación:
java -jar app.jar
Utiliza la instrucción COPY --from=builder
para transferir únicamente el JAR compilado al stage final, manteniendo la imagen de producción ligera sin las herramientas de compilación de Maven.
Lección relacionada
Este ejercicio está relacionado con la lección "Multi-stage Build" de Docker. Te recomendamos revisar la lección antes de comenzar.
Ver lección relacionadaMás ejercicios de Docker
Explora más ejercicios de programación en Docker para mejorar tus habilidades y obtener tu certificación.
Ver más ejercicios de DockerSolución al ejercicio de programación en Docker
¡Desbloquea la solución completa!
Completa el ejercicio de programación en Docker para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en Docker
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en Docker