Spring如何映射Docker环境变量?
所以我找到了。在中,我注意到他提供了一个名为Spring如何映射Docker环境变量?,spring,docker,docker-compose,Spring,Docker,Docker Compose,所以我找到了。在中,我注意到他提供了一个名为REGISTRY\u HOST的环境变量,然后在项目中的各种application.yml文件中使用 我想知道的是,这个映射是如何工作的,是Docker还是Spring执行了这个魔术?例如,他正在绑定registry.host和registry.port,但这到底是如何映射的?为什么前缀是registry,而registry.host不在compose文件中时从何而来?docker基本上只分配环境变量,其他什么都没有。但在Spring端,它读取这些变量
REGISTRY\u HOST
的环境变量,然后在项目中的各种application.yml
文件中使用
我想知道的是,这个映射是如何工作的,是Docker还是Spring执行了这个魔术?例如,他正在绑定
registry.host
和registry.port
,但这到底是如何映射的?为什么前缀是registry
,而registry.host
不在compose文件中时从何而来?docker基本上只分配环境变量,其他什么都没有。但在Spring端,它读取这些变量并尝试分配给应用程序属性。请参阅文档部分中的说明。谢谢,这正是我要找的!知道registry.host
部分来自哪里吗?是Docker足够聪明,即使忽略了它,也会给它一个默认值,还是Spring只是因为注册表是空的而退回到localhost
,registry.host
值是eureka serviceregistry
。我认为它使用registry.host
作为此应用程序的特定值。如果您查看yaml文件,您可以看到${registry.host:localhost}
其中说明,如果找不到变量registry.host
,请尝试查找变量localhost
,将其指定为默认值。注册表.port也一样。冒号字符:
执行默认值设置。