Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO]

Creación de Head Dump en java


Un head dump es una captura de todos los objetos en memoria alojados en la JVM en un determinado momento.

Los head dump son una herramienta muy útil para la detección de memory-leaks y optimizar el uso de memoria en las aplicaciones Java.

A continuación se muestra un ejemplo de como utilizar la herramienta jmap de la JDK 

jmap -dump:[live],format=b,file=<file-path> <pid>

Donde:
  • live: Indica que se van a capturar solo los objectos que tienen referencias activas en la JVM y descartar los que están listos para ser recolectados por el garbage collector.
  • format=b: Indica que el archivo dump va a ser generado en formado binario.
  • file: Indica el path donde va a ser escrito el head dump
  • pid: Indica el proceso java a ser capturado

Ejemplo:
jmap -dump:live,format=b,file=/home/wl/dump.bin 191907



Nota: El pid se puede obtener con el siguiente comando:
ps -fea | grep java | grep -i  'nombre_proceso' | grep -v grep | awk '{print $2}'

Donde:
  • nombre_proceso: Es un identificador del proceso java; por ejemplo, el nombre del servidor jboss.

Fuentes

Comentarios

Entradas populares de este blog

Create a docker image from a spring boot project

Comandos docker

Kubernetes -Tipos de objetos