Generando imagen docker con Maven (Spring)

Hace tiempo, pensando en integración continua en un el entorno “pre”, busque la manera más rápida y cómoda de generar una imagen docker.

Primero pensé en un par de Dockerfiles y un composer, para este mecanismo, pero no era del todo lo que entraba en la definición de rápida y cómoda. Quería algo, auto gestionado a nivel de imagen padre y que el requisito de mantenimiento fuera mínimo.

Tras un rato de búsqueda en google, me encontré con el plugin: GoogleContainerTools.

CÓMO FUNCIONA

Cómo cualquier plugin, tenemos que añadirlo a nuestro parent o proyecto.

      <plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>VERSION</version>
<configuration>
<to>
<image>apascualco/app:${project.version}</image>
<tags>
<tag>latest</tag>
</tags>
</to>
</configuration>
</plugin>

GENERANDO Y LANZANDO NUESTRA IMAGEN (LOCAL)

Para generar nuestra imagen con Maven (hub local), lanzaremos el siguiente comando para que se guarde en el repositorio local:

mvn compile jib:dockerBuild -f pom.xml

Una vez generada nuestra imagen y comprobado que se ha generado correctamente en nuestro Docker (docker images ls). Si lo lanzas en local recordar de quitar la variable de la configuración

docker run -it -p 8761:8761 app:latest

Obviamente podéis configurar vuestro propio HUB y subir vuestra imagen a vuestro repositorio. Realmente es bastante sencillo y Gradle también lo soporta

Jib-maven-plugin

Jib-gradle-plugin

Deja una respuesta

A %d blogueros les gusta esto: