Ich habe eine SpringBoot-Anwendung und seine Dockerfile ist wie folgt. Ich habe application.properties für verschiedene Umgebungen wie local/dev/qa/prod. Wenn ich die Anwendung lokal in IDE ausführe, übergebe ich -Dspring.profiles.active = local in VM-Optionen, so dass es die application-local.properties lädt. Zum Ausführen als Docker-Container erstelle ich ein Image, das alle application.properties enthält. es ist nur das gleiche Docker-Bild für alle Umgebungen.Übergabe env Variablen an DOCKER Spring Boot
Wenn ich das Bild in einer Umgebung ausführen, möchte ich irgendwie den SpringBoot zu verstehen, dass seine dev env, so dass es application-dev.properties laden muss. Ich verwende AWS ECS zur Verwaltung der Container.
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/sample-test-sb-sample-app-1.0-exec.jar app.jar
EXPOSE 8080
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
Können Sie bitte ausarbeiten? Ich bin neu in Docker. Wo sollte diese Umgebungsvariable sein und wie und wann sollte sie in die Dockerfile injiziert werden? Vielen Dank! – deejo
Habe meine Antwort aktualisiert –