springboot之docker启动参数传递

这几天有网友问,如何在使用docker的情况下传递spring.profiles.active=test,也就是说springboot切换配置文件。以往我们直接通过java启动jar的时候,直接跟上--spring.profiles.active=test或者利用jvm参数-Dspring.profiles.active=test来传递。我写一些命令吧。

非docker下springboot切换配置文件

java -jar test.jar --spring.profiles.active=test #第一种情况切换配置文件

java -Dspring.profiles.active=test -jar test.jar #第二种情况切换配置文件

有朋友会疑惑,通过jvm参数怎么可以切换呢,其实springboot是支持的哦。

docker下springboot切换配置文件

docker封装了springboot后切换会多一些步骤,其实也不是很难。笔者找了网上好多文章,并没有看到通过com.spotify:docker-maven-plugin这个docker打包插件实现的环境变量传递参数,也可能是太简单了,没人写,但是我看到好多人需要,我还是写一下吧。但是网上有通过Dockerfile实现的Env变量传递的。下面我贴出pom中的打包插件代码:

请注意env节点和entryPoint的变化

com.spotifydocker-maven-plugin0.4.11pumelo/${project.artifactId}-${version}frolvlad/alpine-oraclejdk8:slim""[ "sh", "-c", "java $JAVA_OPTS -jar /${project.build.finalName}.jar" ]/${project.build.directory}${project.build.finalName}.jar

测试

从新打包镜像后,运行

docker run -e JAVA_OPTS='-Xms128m -Xmx256m -Dspring.profiles.active=prod' -it pumelo/test-1.0.0 /bin/bash

这样就可以通过jvm参数来切换springboot的配置文件啦。

感谢各位看官捧场。

posted @ 2018-04-18 16:08  Bigben  阅读(3633)  评论(1编辑  收藏  举报