Skip to content

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.

  1. 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"]
  2. 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 usar spring-boot-app.

  3. 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-imagen

    8080 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.

  4. 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-imagen

    Esto te permitirá referenciar el contenedor fácilmente en comandos futuros.

  5. 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:8080

    Verifica que la aplicación responde correctamente.

Eliminar contenedor

  1. Detener el contenedor:

    Para detener un contenedor que se está ejecutando, puedes usar el siguiente comando:

    Terminal window
    docker stop MyContainerSB

    Esto detendrá el contenedor llamado MyContainerSB.

  2. Eliminar un contenedor:

    Si deseas eliminar un contenedor después de haberlo detenido, usa el siguiente comando:

    Terminal window
    docker rm MyContainerSB
  3. 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-imagen

    Reemplaza nombre-de-la-imagen con el nombre o ID de la imagen que deseas eliminar.

  4. 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 prune

    Esto eliminará todos los volúmenes que no estén asociados a ningún contenedor en ejecución.

  5. Eliminar redes no utilizadas:

    Docker también crea redes que pueden quedar residuales. Para limpiar redes no utilizadas, puedes ejecutar:

    Terminal window
    docker network prune

    Esto eliminará todas las redes no utilizadas.

  6. 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 prune

    Esto liberará espacio eliminando todos los recursos innecesarios.