今天小编给大家分享一下Springboot怎么使用docker-compose实现动态配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
使用docker-compose实现动态配置
Springboot应用在打包的时候我们希望可以在项目启动的时候可以修改application.property或者yml中的配置;而不是在打包docker镜像的时候这个值确定后面不可以修改,这个时候可以通过yml提供的环境变量的功能来实现这个需求;
在yml文件中,通过${Envirment_variable}的方式可以获取系统环境变量中的值;于是可以通过把环境变量配置在docker-compose文件中,这样在docker镜像启动的时候,通过docker-compose中指定的变量,来定义应用中的配置。
例如
我的应用中集成cas单点登录,但是这个单点登录的服务器地址不确定
于是在配置文件中可以这么写
这里cas.server.url中的值从系统的环境变量CAS_SERVER中获取,如果系统中环境变量没有获取到,那么使用地址https://sophon15:8393的地址;
在docker-compose中的配置
这样就可以了;
顺带说一下docker-compose 中如何配置系统的host;这里的sophon15就是host地址
在docker-compose的extra_hosts属性中配置就可以了
如图所示