将命令行参数传递给docker容器内的spring引导服务

时间:2016-12-16 09:31:40

标签: spring docker spring-boot

我有一套春季启动应用程序,我想打包为docker容器。 我使用以下Dockerfile为其中一个服务创建容器:

FROM java:8
VOLUME /tmp
ADD myservice.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

在内部,服务访问一些环境属性,例如:

@Value("${my.test.param:default}") 
String testParam;
.
.
.
logger.info("param value is = "+testParam);

现在,我希望能够通过docker run命令行覆盖此设置,如此

docker run -p 8080:8080 -e my.test.param=changed mygroup/myservice:0.0.1 

不幸的是,这似乎不起作用。我一直看到参数my.test.param的默认值。 我搜索了在-e行末尾自动添加所有ENTRYPOINT参数的方法,但未找到任何参数。对此有一些通用的解决方案吗?

0 个答案:

没有答案