欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker如何给Springboot项目动态传参的实现方法

程序员文章站 2022-04-15 19:06:29
背景最近有些初学docker的朋友问到,想通过docker-compose.yml来动态给微服务传参,而不是每次都要在项目配置文件硬编码,然后构建服务镜像,最后打包发布经过一些列流程才能更新配置,那能...

背景

最近有些初学docker的朋友问到,想通过docker-compose.yml来动态给微服务传参,而不是每次都要在项目配置文件硬编码,然后构建服务镜像,最后打包发布经过一些列流程才能更新配置,那能不能直接通过docker-compose.yml里把一些配置项放到环境变量,然后springboot项目自动从环境变量获取参数呢?

场景

假设现在有一个springboot项目,它里面有一个数据库的配置项,但是不同的数据库测试环境(dev\sit\uat),数据库ip有多个,想使用同一个springboot项目镜像,可以随时切换数据库配置,简单来说就是你的springboot应用的数据库配置应该是通过外部传入,而不是hardcode.

Docker如何给Springboot项目动态传参的实现方法

springboot应用里有个数据库配置如下:

解决方案

利用spel表达式,动态从环境变量获取数据库配置

Docker如何给Springboot项目动态传参的实现方法

接下来我们在springboot配置文件把数据库配置用spel表达式替换

docker-compose.yml配置我们的数据库参数

这样我们的springboot应用就可以在启动容器服务的时候动态获取数据库配置了

到此这篇关于docker如何给springboot项目动态传参的实现方法的文章就介绍到这了,更多相关docker springboot动态传参内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!