Um unseren privaten Spring-Boot-Projekte (testweise) laufen zu lassen, verwenden wir docker Container. Das Image definieren wir wie folgt:
FROM eclipse-temurin:17-jdk-jammy ENV TZ="Europe/Berlin" RUN mkdir -p /home/app WORKDIR /home/app COPY ./data . EXPOSE 8080/tcp CMD ["java", "-jar", "spring-boot-app.jar"]
Dabei bauen wir das Jar-File mittels ./gradlew clean build und kopieren es zum Dockerfile in ein data Verzeichnis. Hieraus wird es dann beim Image-Bau ins Image kopiert:
docker build . -t spring-boot-app
Starten können wir den Container dann einfach über:
docker run -d -p 8080:8080 --name my-app spring-boot-app
Edit 04.05.2024: Im Dockerfile wurde das Setzen der Zeitzone ergänzt (ENV TZ="Europe/Berlin"). Das ist offensichtlich für Anwendungen relevant, die Datumswerte korrekt darstellen und verarbeiten wollen.