我有基于Spring的webbapp。要配置它,我使用.yml文件。 要将环境变量从spring / backend .yml格式转换为docker-compose.yml环境部分,我必须将缩进更改为下划线。例如:
application.yml
spring:
mail:
properties.mail.smtp:
auth: true
搬运工-compose.yml
environment:
SPRING_MAIL_PROPERTIES.MAIL.SMTP_AUTH: true
但是一些属性名称本身包含下划线。像这样:
spring:
jpa:
properties:
hibernate:
temp:
use_jdbc_metadata_defaults: false
我应该如何将这些属性(名称中带有下划线)转换为docker-compose.yml中的环境部分?
此问题不重复。提到类似的问题没有回答我的问题。问题How to set a Spring Boot property with an underscore in its name via Environment Variables?是关于如何在Spring Boot中使用下划线表示属性,并且接受的答案显示了Spring如何解释属性文件条目。有SystemEnvironmentPropertySource.java
类的链接,负责Spring中属性的翻译和解释。我的问题是在 Docker-Compose 中询问.yml文件解释。所以我需要在提到的主题中基本上类似于已接受的答案,但关于 Docker-Compose 如何将.yml属性解释为环境变量。