docker传递application.yml参数方法

目前有发现两种方法,第一种方法针对springBoot适用

1. 使用环境变量,springboot会将环境变量中对应的值作为配置运行程序。

但环境变量的格式需要注意:spring.datasource.username需要变为SPRING_DATASOURCE_USERNAME(小写变大写,大写前加_,.变_, 如果一个配置是: application.bigApple.name, 则转换过去的格式是:APPLICATION_BIG_APPLE_NAME)

docker run -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 xxx

2. 使用-D指令。在jvm层面上,D指令是向应用传递参数的属性。

如设置application.yml中的datasource可以使用如下参数
dockerFile中设置如下

java -jar ${JAVA_OPTS} xxx.jar

启动docker容器时使用以下命令

docker run -e JAVA_OPTS="-Dspring.datasource.username=root -Dspring.datasource.password=123456" xxx

参考:SpringBoot系列: Java应用程序传参和SpringBoot参数文件

原文地址:https://www.cnblogs.com/xiaojiluben/p/13984166.html