Dockerizar aplicación
Antes de comenzar, asegúrate de tener Docker instalado en tu máquina. Si no lo tienes, puedes consultar la documentación oficial para aprender cómo instalar Docker.
-
Crear un archivo Dockerfile:
En la raíz de tu proyecto Spring Boot, crea un archivo llamado
Dockerfile
con el siguiente contenido:# Para especificar la imagen a usar.FROM openjdk:8-jdk-alpine# Para copiar la librería a usar y darle un nombre dentro del contenedor.COPY "./target/SBServicesRest-01.jar" "app.jar"# Para especificar el puerto a usar.EXPOSE 8080# Para definir los parámetros a usar al ejecutar la aplicación.ENTRYPOINT ["java","-jar","app.jar"] -
Construir la imagen Docker:
Para construir la imagen Docker de tu aplicación Spring Boot, ejecuta el siguiente comando desde la raíz de tu proyecto:
Terminal window docker build -t nombre-de-la-imagen .Aquí,
nombre-de-la-imagen
es el nombre que le das a tu imagen Docker. Por ejemplo, podrías usarspring-boot-app
. -
Ejecutar el contenedor Docker:
Una vez que hayas construido la imagen, puedes ejecutar un contenedor basado en ella usando el siguiente comando:
Terminal window docker run -p 9090:8080 nombre-de-la-imagen8080
es el puerto del contenedor, es decir, el puerto que está escuchando dentro del contenedor.9090
es el puerto de la máquina anfitriona, es el puerto expuesto en la máquina desde la cual accedes al contenedor. -
Crear un contenedor con nombre:
Si deseas nombrar el contenedor, puedes usar la opción
--name
:Terminal window docker run --name MyContainerSB -p 9090:8080 nombre-de-la-imagenEsto te permitirá referenciar el contenedor fácilmente en comandos futuros.
-
Verificar que la aplicación está corriendo:
Una vez que el contenedor esté en ejecución, puedes acceder a tu aplicación Spring Boot abriendo un navegador y visitando:
http://localhost:8080Verifica que la aplicación responde correctamente.
Eliminar contenedor
-
Detener el contenedor:
Para detener un contenedor que se está ejecutando, puedes usar el siguiente comando:
Terminal window docker stop MyContainerSBEsto detendrá el contenedor llamado
MyContainerSB
. -
Eliminar un contenedor:
Si deseas eliminar un contenedor después de haberlo detenido, usa el siguiente comando:
Terminal window docker rm MyContainerSB -
Eliminar la imagen Docker:
Para eliminar la imagen Docker después de eliminar los contenedores que la utilizan, puedes ejecutar:
Terminal window docker rmi nombre-de-la-imagenReemplaza
nombre-de-la-imagen
con el nombre o ID de la imagen que deseas eliminar. -
Eliminar volúmenes no utilizados:
Los volúmenes Docker almacenan datos persistentes y pueden quedar residuales. Para eliminar volúmenes que ya no están en uso, usa:
Terminal window docker volume pruneEsto eliminará todos los volúmenes que no estén asociados a ningún contenedor en ejecución.
-
Eliminar redes no utilizadas:
Docker también crea redes que pueden quedar residuales. Para limpiar redes no utilizadas, puedes ejecutar:
Terminal window docker network pruneEsto eliminará todas las redes no utilizadas.
-
Eliminar contenedores detenidos y recursos innecesarios:
Si deseas eliminar todos los contenedores detenidos, imágenes que no están en uso, y redes no utilizadas de una sola vez, usa:
Terminal window docker system pruneEsto liberará espacio eliminando todos los recursos innecesarios.