Para Dockerizar Tu Aplicación de Spring Boot Con Gradle
Para Dockerizar Tu Aplicación de Spring Boot Con Gradle
posiblemente ajustar algunos detalles en tu configuración para que funcione correctamente. Te explicaré
paso a paso cómo hacerlo.
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
WORKDIR /app
FROM openjdk:11-jre-slim
WORKDIR /app
EXPOSE 8080
Para construir la imagen Docker, abre una terminal en la raíz de tu proyecto y ejecuta el siguiente
comando:
bash
Copiar
Una vez que la imagen se haya construido correctamente, puedes ejecutar el contenedor con el
siguiente comando:
bash
Copiar
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