Prerequisitos
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
- Docker version 2.10.12, build e91ed57
- Apache Maven 3.8.5
Pasos
- Asegurate de que tu aplicacon de spring se ejecute con maven
./mvnw package && java -jar target/gs-spring-boot-docker-0.1.0.jar
- Crea el Dockerfile en el proyecto de spring con las siguientes caracteristicas. No olvides renombrar al app.jar para que los guar
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
- Compila con maven y que genera el componente jar.
mvn install
- Construye la imagen con el comando de maven. No olvides sustituir myorg/myapp por un identificador para el hub de docker (compañia, y aplicacion)
docker build --build-arg JAR_FILE=target/*.jar -t myorg/myapp .
- una vez que se haya creado por primera vez la imagen, puedes ahora reconstruirla solo utilizando la sentencia
docker build -t myorg/myapp .
- Comprueba que se haya construido la imagen
docker image list --all
REPOSITORY TAG IMAGE ID CREATED SIZE
bcee/eureka latest 2782caf7a46e 28 minutes ago 372MB
- Crea un contenedor con la imagen creada.
docker run -p 8080:8080 myorg/myapp
- Recuerda que los otros parametros de run (ver comandos de docker)