J'ai une application SpringBoot et son Dockerfile est comme suit. J'ai application.properties pour différents environnements comme local/dev/qa/prod. Lorsque j'exécute l'application localement dans l'EDI, je transmets -Dspring.profiles.active = local dans les options de la machine virtuelle de sorte qu'elle charge l'application-local.properties. Pour l'exécution en tant que conteneurs docker, je compile une image qui comprend toutes les applications.properties. c'est-à-dire que c'est seulement l'image docker SAME pour tous les environnements.Passer des variables env à DOCKER Spring Boot
Lorsque j'exécute l'image dans un environnement, je veux en quelque sorte faire en sorte que SpringBoot comprenne son dev env, donc il doit charger application-dev.properties. J'utilise AWS ECS pour gérer les conteneurs.
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" ]
Pouvez-vous élaborer? Je suis nouveau à Docker. Où cette variable d'environnement devrait-elle être et comment et quand devrait-elle être injectée dans le Dockerfile? Merci! – deejo
J'ai mis à jour ma réponse –