Springboot使用docker-compose實(shí)現(xiàn)動(dòng)態(tài)配置過程
使用docker-compose實(shí)現(xiàn)動(dòng)態(tài)配置
Springboot應(yīng)用在打包的時(shí)候我們希望可以在項(xiàng)目啟動(dòng)的時(shí)候可以修改application.property或者yml中的配置;而不是在打包docker鏡像的時(shí)候這個(gè)值確定后面不可以修改,這個(gè)時(shí)候可以通過yml提供的環(huán)境變量的功能來實(shí)現(xiàn)這個(gè)需求;
在yml文件中,通過${Envirment_variable}的方式可以獲取系統(tǒng)環(huán)境變量中的值;于是可以通過把環(huán)境變量配置在docker-compose文件中,這樣在docker鏡像啟動(dòng)的時(shí)候,通過docker-compose中指定的變量,來定義應(yīng)用中的配置;
例如
我的應(yīng)用中集成cas單點(diǎn)登錄,但是這個(gè)單點(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文件中配置好對(duì)應(yīng)的環(huán)境變量值,這樣應(yīng)用在讀取的時(shí)候就直接讀到配置的值;而不用系統(tǒng)在打包的時(shí)候就得確定某些配置的值;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker容器與宿主機(jī)的數(shù)據(jù)交互方式總結(jié)
這篇文章主要給大家介紹了關(guān)于docker容器與宿主機(jī)的數(shù)據(jù)交互,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: 
這篇文章主要介紹了Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
docker報(bào)錯(cuò)Container is not running問題及解決
這篇文章主要介紹了docker報(bào)錯(cuò)Container is not running問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
centos7搭建docker私人倉(cāng)庫(kù)的方法(kubernetes)
這篇文章主要介紹了centos7搭建docker私人倉(cāng)庫(kù)的方法(kubernetes),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
win10中docker部署和運(yùn)行countly-server的流程
這篇文章主要記錄一下windows10中使用docker容器安裝和部署countly-server的整個(gè)流程,本文給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-11-11

