Dockerfile por Microservicio

Todos los microservicios comparten el mismo Dockerfile, lo cual permite estandarizar el empaquetado y simplificar el proceso de construcción de imágenes. Este Dockerfile toma como entrada el .jar de cada servicio y genera una imagen Docker lista para ejecutarse.

Contenido del Dockerfile:

FROM openjdk:17
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

Explicación:

  • FROM openjdk:17: usa una imagen oficial de Java 17 como base.

  • ARG JAR_FILE=target/*.jar: permite pasar el nombre del archivo .jar como argumento.

  • COPY ${JAR_FILE} app.jar: copia el .jar al contenedor y lo renombra como app.jar.

  • ENTRYPOINT: define el comando que se ejecuta al iniciar el contenedor.

Este archivo debe estar ubicado en la raíz del directorio de cada microservicio. Luego, Docker Compose se encargará de empaquetar cada uno usando este mismo archivo, siempre que el .jar correspondiente esté presente en target/.

Last updated