gpt4 book ai didi

java - 如何从 docker 命令行设置参数来配置 spring boot 应用程序?

转载 作者:搜寻专家 更新时间:2023-11-01 02:06:10 24 4
gpt4 key购买 nike

我有一个带有 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 外部化或从 docker 命令行设置它或更好的主意的方法?

最佳答案

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

1) 设置环境变量(在 shell 中使用 export VCAP_SERVICES_CONFIG-SERVICE_CREDENTIALS_URI='http://example.com',或在 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 也从 config/application.properties 中读取值或 application.properties与可执行 JAR 文件位于同一目录中,因此可以提供此文件(您可以为此使用 VOLUME)并覆盖 JAR 中的设置

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

关于java - 如何从 docker 命令行设置参数来配置 spring boot 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com