Docker Images für Java Applikationen auf JRE umstellen

User Story

Als Softwareentwickler möchte ich kleine Docker Images haben, um den Overhead und die Angriffsfläche möglichst klein zu halten.

Why

Im Zustelldienst liefern wir ein Dockerimage auf Basis von eclipse-temurin:21.0.2_13-jdk aus. Das ergibt keinen Sinn, weil das JDK nur für den Bau der Applikation benötigt wird. Um die Applikation laufen zu lassen, benötigt man nur das JRE. Aus diesem Grund soll das Dockerfile so umgebaut werden, dass zum Bau der Applikation das JDK Image verwendet wird, zur Auslieferung dann die kompilierte Applikation in ein JRE Image kopiert wird. Dadurch wird das Image, das wir ausliefern und die Angriffsfläche kleiner. Zur Umsetzung kann man sich an den Docker Multi-Stage Builds orientieren:
https://docs.docker.com/build/building/multi-stage/

Links, Notes, Remarks

Acceptance criteria

  1. Dockerfile im Zustelldienst ist auf Docker Multi-Stage Build umgestellt

Implementation plan (to be completed by the developer)

Edited by Manuel Menz