Gemäß https://spring.io/guides/gs/spring-boot-docker/ können wir Docker Images für SpringBoot-Anwendungen mit fest codierten Namen und Version der Anwendung erstellen. Zum Beispiel:Generisches Docker Image und Dockerfile für SpringBoot Apps mit Gradle
src/main/Docker/Dockerfile
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
jedoch den Namen oder die Version der App zu ändern bricht die Docker Befehl erstellen, die Sie in Ihrer build.gradle Aufgabe stellen.
build.gradle
task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from jar
into stageDir
}
}
}
Der Befehl Gradle buildDocker ein Bild erstellt, indem die Dockerfile und die ausführbare Jar aus der App Staging und "Andockfensters build" ausführt.
Frage
Betrachtet man die Namen statisch sind in Dockerfile, Wie kann ich diese Einstellung ändern, nicht meine zu brechen baut, sobald ich die Version zu ändern, oder sogar den Namen meiner SpringBoot Anwendung, wenn das Bild Docker bauen?