Springboot使用docker-compose實(shí)現(xiàn)動態(tài)配置過程
使用docker-compose實(shí)現(xiàn)動態(tài)配置
Springboot應(yīng)用在打包的時候我們希望可以在項目啟動的時候可以修改application.property或者yml中的配置;而不是在打包docker鏡像的時候這個值確定后面不可以修改,這個時候可以通過yml提供的環(huán)境變量的功能來實(shí)現(xiàn)這個需求;
在yml文件中,通過${Envirment_variable}的方式可以獲取系統(tǒng)環(huán)境變量中的值;于是可以通過把環(huán)境變量配置在docker-compose文件中,這樣在docker鏡像啟動的時候,通過docker-compose中指定的變量,來定義應(yīng)用中的配置;
例如
我的應(yīng)用中集成cas單點(diǎn)登錄,但是這個單點(diǎn)登錄的服務(wù)器地址不確定
于是在配置文件中可以這么寫
這里cas.server.url中的值從系統(tǒng)的環(huán)境變量CAS_SERVER中獲取,如果系統(tǒng)中環(huán)境變量沒有獲取到,那么使用地址https://sophon15:8393的地址;
在docker-compose中的配置
這樣就可以了;
順帶說一下docker-compose 中如何配置系統(tǒng)的host;這里的sophon15就是host地址
在docker-compose的extra_hosts屬性中配置就可以了
如圖所示
總結(jié)
yml總可以通過${Envirment_variable}的方式讀取系統(tǒng)環(huán)境變量中的值;然后通過在docker-compose文件中配置好對應(yīng)的環(huán)境變量值,這樣應(yīng)用在讀取的時候就直接讀到配置的值;而不用系統(tǒng)在打包的時候就得確定某些配置的值;
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- docker常用容器啟動docker-compose.yml配置文件使用
- 關(guān)于immich?docker-compose.yml配置文件詳解
- 在docker-compose.yml文件中配置容器的環(huán)境變量方式
- docker-compose.yml參數(shù)的用法(配置文件)
- 使用docker?compose快速配置一組容器服務(wù)詳解
- docker-compose配置并部署redis服務(wù)的實(shí)現(xiàn)
- 詳解Docker Compose配置文件參數(shù)
- Docker compose配置文件寫法及命令使用示例
- docker-compose安裝yml文件配置方式
- docker compose 一鍵部署分布式配置中心Apollo的過程詳解
- docker-compose部署配置jenkins的詳細(xì)教程
- Docker Compose 配置指南小結(jié)
相關(guān)文章
Node.js服務(wù)Docker容器化應(yīng)用實(shí)踐小結(jié)
這篇文章主要介紹了Node.js服務(wù)Docker容器化應(yīng)用實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09docker部署釘釘機(jī)器人報警通知的實(shí)現(xiàn)
本文主要介紹了docker部署釘釘機(jī)器人報警通知的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Docker手動構(gòu)建JDK鏡像的實(shí)現(xiàn)示例
本文主要介紹了 Docker手動構(gòu)建JDK鏡像的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08