最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker+Spring?boot為環(huán)境變量賦值的方法(普通變量和List變量)

 更新時(shí)間:2026年06月09日 09:51:42   作者:雨打夏夜  
本文詳細(xì)介紹了在Docker容器中為SpringBoot應(yīng)用應(yīng)用設(shè)置環(huán)境變量的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

在Docker容器中運(yùn)行Spring Boot應(yīng)用時(shí),經(jīng)常需要為應(yīng)用設(shè)置環(huán)境變量。環(huán)境變量可以用來配置數(shù)據(jù)庫連接、外部服務(wù)的URL以及其他任何需要在運(yùn)行時(shí)配置的信息。在Docker中,可以通過多種方式為Spring Boot應(yīng)用設(shè)置環(huán)境變量,包括在docker run命令中直接指定,或者通過Dockerfile中的ENV指令設(shè)置。

Docker+Spring boot為環(huán)境變量賦值

Spring boot開發(fā)微服務(wù),使用yml做配置文件,Docker方式部署。

在不同環(huán)境中,需要對(duì)yml中的配置進(jìn)行調(diào)整,本文主要介紹在以docker run方式運(yùn)行時(shí),如何為yml配置文件中的變量賦值。分為普通的環(huán)境變量、List變量。

若想通過docker run為yml中變量賦值,對(duì)Spring boot啟動(dòng)類有一個(gè)要求,主函數(shù)必須有String[] args參數(shù):

@SpringBootApplication
public class Application implements CommandLineRunner {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

以下面的配置為例:

mqtt:
  uris: tcp://ip:1883
  username:
  password:
  client-id-prefix: ocal
  data-topics:
    list:
      - subscribe-topic: DataTopic
        publish-topics: /t/router/app/output
        framework-type: type1
      - subscribe-topic: /v1/message/request
        publish-topics: /v1/message/response
        framework-type: type2

有如下幾種方式為上面的配置文件賦值:

方法一:使用下劃線分隔大寫形式

確保環(huán)境變量的格式與 YML 路徑相匹配,并使用下劃線分隔層級(jí):

docker run --name computing \
  --restart=always \
  -e MQTT_URIS=tcp://127.0.0.1:1883 \
  -e MQTT_DATA_TOPICS_LIST_0_SUBSCRIBE_TOPIC=/v1/s1/data/input \
  -e MQTT_DATA_TOPICS_LIST_1_SUBSCRIBE_TOPIC=/v1/s1/message/input \
  computing:1.0

注意:

  • 環(huán)境變量的名稱與 YML 文件中的路徑相關(guān)聯(lián),使用下劃線 _ 代替點(diǎn) . 和中橫線 -。
  • 數(shù)組索引從 0 開始。

方法二:使用 SPRING_APPLICATION_JSON 傳遞 JSON 格式配置

使用 SPRING_APPLICATION_JSON 環(huán)境變量傳遞 JSON 格式的配置。這樣可以確保復(fù)雜的嵌套結(jié)構(gòu)被正確解析:

docker run --name pdstars-edge-computing \
  --restart=always \
  -e SPRING_APPLICATION_JSON='{"mqtt": {"uris": "tcp://127.0.0.1:1883", "data-topics": {"list": [{"subscribe-topic": "DataTopic", "publish-topics": "/t/router/app/outpu", "framework-type": "type1"}, {"subscribe-topic": "/v1/message/request", "publish-topics": "/v1/message/response", "framework-type": "type2"}]}}}' \
  computing:1.1.0

方法三:使用配置文件掛載

將配置文件保存在主機(jī)上,然后在運(yùn)行容器時(shí)掛載到容器內(nèi)部。例如,將新的配置文件保存在 /path/to/new-application.yml 中,然后使用 -v 參數(shù)掛載到容器內(nèi)的默認(rèn)配置路徑:

docker run --name computing \
  --restart=always \
  -v /path/to/new-application.yml:/config/application.yml \
  computing:1.0

到此這篇關(guān)于Docker+Spring boot為環(huán)境變量賦值的方法(普通變量和List變量)的文章就介紹到這了,更多相關(guān)docker spring boot環(huán)境變量賦值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

肥东县| 嘉兴市| 凌海市| 棋牌| 进贤县| 甘孜县| 江孜县| 东城区| 罗平县| 宁阳县| 开化县| 且末县| 棋牌| 新蔡县| 海门市| 淳化县| 贵州省| 东丰县| 石泉县| 响水县| 泗水县| 琼海市| 河间市| 连州市| 华阴市| 嘉黎县| 定结县| 洱源县| 石嘴山市| 胶州市| 揭西县| 亳州市| 和平县| 敦煌市| 韩城市| 那曲县| 安庆市| 盈江县| 磴口县| 涿鹿县| 安宁市|