SpringBoot Properties und Docker

DrPils

Bekanntes Mitglied
Hi,
Ich schreibe gerade eine Spring Boot Application, welche ich spaeter dockerizieren möchte. Jetzt weiss ich nicht wie ich Argumente die ich dem Docker run command mitgebe an die SpringBoot properties weitergebe. Also zb:
Code:
docker run  -e ADMIN_PASSWORD=password -d meineApp
ADMIN_PASSWORD möchte ich in der Spring Boot App dann als Property haben
 
Genaus so zB, die Property müsste dann zB als admin.password verfügbar sein (in der Doku dürfte beschrieben sein, wie zwischen verschiedenen Schreibweisen konvertiert wird).
 
Aber ich muss da die Property doch bestimmt irgendwie an die Applikation weiterleiten. Also ich kenne bisher nur den Weg die application.properties in gleichnamigen Files hardgecodet zu hinterlegen.
 
Da kümmert sich Spring drum.
In den application.properties eine Property admin.password angeben oder eine Umgebungsvariable ADMIN_PASSWORD setzten ist aus Applikationssicht das selbe. In beiden Fällen kannst du sie zB über @Value("${admin.property}") injecten
 
So irgendwas mache ich aber falsch

Java:
@Configuration
public class EmailConfig {

    @Value("${email.sender.host}")
    private String host;
    
    /*
    ...
    **/
}

In den IntelliJ run Configurations übergebe ich das Argument: --email.sender.host=smtp.gmail.com

1656676707366.png

Bekomme dann den Error:

Code:
Unrecognized option: --email.sender.host=smtp.gmail.com
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
 

Zurück
Oben