如何从docker命令行设置参数以配置Spring Boot应用程序?

山猫

我有一个带有yml的spring boot应用程序,可在docker容器中配置它。像这样:

 spring:   application:
   name: micro-example
   config:
     uri: ${vcap.services.config-service.credentials.uri:http://xxx.xxx.xx.73:8888}

如您所见,在我的配置中有一个ip硬编码的IP,这是一个坏主意,因为该合并仅用于服务器。是否存在将ip外部化或从docker命令行或更好的主意进行设置的方法?

Slava Semushin

有很多不同的方法可以做到:

1)设置环境变量(export VCAP_SERVICES_CONFIG-SERVICE_CREDENTIALS_URI='http://example.com'在shell中或ENV内部使用Dockerfile

2)将其作为JVM参数(java -Dvcap.services.config-service.credentials.uri=http://example.com -jar app.jar传递

3)作为命令行参数(java -jar app.jar --vcap.services.config-service.credentials.uri=http://example.com传递

4)Spring Boot还从可执行JAR文件的同一目录中读取config/application.propertiesapplication.properties位于同一目录中的,因此可以提供此文件(您可以使用该文件VOLUME)并覆盖JAR中的设置

另请参阅:http : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章