[英]Spring Profiles in combination with ConfigServer
我有一個非常基本的 Spring 引導配置服務器(剛剛添加了依賴項並使用 @EnableConfigServer 注釋了主類)。
一般來說,我想為我的每個應用程序支持具有不同屬性源的多個環境,這是 ConfigServer 本身的示例:
配置文件:默認(類路徑上的 application.yml):
配置文件:docker(類路徑上的 application-docker.yml):
配置文件:默認(ConfigServer 存儲庫中的 application.yml):
因此,在我的情況下,所有三個屏幕截圖中的所有屬性都應該處於活動狀態,我希望順序/優先級如下:
到目前為止,這完美無缺,除了我遇到的問題是,當我使用命令啟動應用程序時(當然是在容器內),類路徑上的 application-docker.yml 被忽略:
java -jar -Dspring-boot.run.profiles=docker *.jar
我的問題是,即使我將配置文件作為命令行參數提供,它也不會被拾取。 這是為什么?
更新,這里是 Dockerfile 和 entrpoint.sh:
要激活一個或多個配置文件,請執行以下操作之一:
-Dspring.profiles.active=<profiles>
--spring.profiles.active=<profiles>
按照您的示例,以下內容應該有效:
java -jar -Dspring.profiles.active=docker *.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.