0% encontró este documento útil (0 votos)
6 vistas4 páginas

Para Dockerizar Tu Aplicación de Spring Boot Con Gradle

Este documento proporciona una guía paso a paso para dockerizar una aplicación de Spring Boot utilizando Gradle, incluyendo la creación de un archivo Dockerfile y la construcción de la imagen Docker. Se explican dos etapas en el Dockerfile: una para compilar la aplicación y otra para ejecutarla en una imagen más ligera. Además, se incluye un ejemplo de archivo docker-compose.yml para gestionar un contenedor de base de datos PostgreSQL junto con la aplicación.

Cargado por

Edgar MAMANI
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas4 páginas

Para Dockerizar Tu Aplicación de Spring Boot Con Gradle

Este documento proporciona una guía paso a paso para dockerizar una aplicación de Spring Boot utilizando Gradle, incluyendo la creación de un archivo Dockerfile y la construcción de la imagen Docker. Se explican dos etapas en el Dockerfile: una para compilar la aplicación y otra para ejecutarla en una imagen más ligera. Además, se incluye un ejemplo de archivo docker-compose.yml para gestionar un contenedor de base de datos PostgreSQL junto con la aplicación.

Cargado por

Edgar MAMANI
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Para dockerizar tu aplicación de Spring Boot con Gradle, necesitarás un archivo Dockerfile y

posiblemente ajustar algunos detalles en tu configuración para que funcione correctamente. Te explicaré
paso a paso cómo hacerlo.

Paso 1: Crear el archivo Dockerfile

El Dockerfile es el archivo que contiene las instrucciones necesarias para construir la imagen Docker.
Aquí te dejo un ejemplo básico para tu aplicación Spring Boot utilizando Gradle.

1. En la raíz de tu proyecto (junto al archivo build.gradle), crea un archivo llamado Dockerfile con el
siguiente contenido:

Dockerfile

Copiar

# Usa una imagen base con Java 11

FROM openjdk:11-jdk-slim as builder

# Establece el directorio de trabajo

WORKDIR /app

# Copia los archivos necesarios para la construcción

COPY build.gradle gradle-wrapper.properties gradle/ ./

COPY src ./src

# Descarga las dependencias y construye el proyecto

RUN ./gradlew build --no-daemon

# Usa una imagen de ejecución más ligera

FROM openjdk:11-jre-slim

# Establece el directorio de trabajo

WORKDIR /app

# Copia el archivo JAR construido en el contenedor


COPY --from=builder /app/build/libs/*.jar app.jar

# Expone el puerto que la aplicación usa (puedes cambiarlo si es necesario)

EXPOSE 8080

# Comando para ejecutar el JAR

ENTRYPOINT ["java", "-jar", "app.jar"]

Explicación del Dockerfile:

1. Primera etapa (builder):


Usamos una imagen base de openjdk:11-jdk-slim para compilar la aplicación. El directorio de
trabajo dentro del contenedor se establece como /app. Luego, copiamos los archivos necesarios
para construir el proyecto, como el archivo build.gradle y los archivos de configuración de
Gradle, y finalmente ejecutamos ./gradlew build para compilar el proyecto.

2. Segunda etapa (runtime):


Aquí utilizamos una imagen más ligera (openjdk:11-jre-slim) para ejecutar la aplicación. Solo
copiamos el archivo .jar generado en la etapa de construcción y lo configuramos para que se
ejecute cuando se inicie el contenedor. Además, exponemos el puerto 8080 (puedes cambiarlo si
tu aplicación usa otro puerto).

Paso 2: Construir la imagen Docker

Para construir la imagen Docker, abre una terminal en la raíz de tu proyecto y ejecuta el siguiente
comando:

bash

Copiar

docker build -t my-spring-boot-app .

Este comando creará una imagen Docker etiquetada como my-spring-boot-app.

Paso 3: Ejecutar el contenedor Docker

Una vez que la imagen se haya construido correctamente, puedes ejecutar el contenedor con el
siguiente comando:

bash

Copiar

docker run -p 8080:8080 my-spring-boot-app

Esto hará que tu aplicación esté accesible en el puerto 8080 de tu máquina local.
Opciones adicionales:

• Si estás utilizando una base de datos (como PostgreSQL, que aparece en tu build.gradle),
asegúrate de tener la base de datos corriendo en un contenedor Docker separado o en un
servidor accesible desde el contenedor de la aplicación. Puedes usar Docker Compose para
gestionar múltiples contenedores de forma más sencilla.

Ejemplo de un archivo docker-compose.yml para configurar tanto la base de datos como la aplicación:

yaml

Copiar

version: '3.8'

services:

db:

image: postgres:13

environment:

POSTGRES_USER: user

POSTGRES_PASSWORD: password

POSTGRES_DB: mydb

ports:

- "5432:5432"

app:

image: my-spring-boot-app

ports:

- "8080:8080"

depends_on:

- db

environment:

SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/mydb

SPRING_DATASOURCE_USERNAME: user

SPRING_DATASOURCE_PASSWORD: password
Este archivo docker-compose.yml levantará un contenedor para la base de datos PostgreSQL y otro para
tu aplicación Spring Boot.

Conclusión

Con estos pasos, habrás dockerizado tu aplicación de Spring Boot. Asegúrate de tener Docker y Docker
Compose instalados en tu máquina para poder ejecutar estos pasos correctamente. Si tienes algún
problema durante el proceso o alguna duda adicional

También podría gustarte