溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot動態注入配置與docker設置環境變量的方法是什么

發布時間:2023-05-08 14:45:20 來源:億速云 閱讀:275 作者:iii 欄目:開發技術

這篇文章主要介紹了springboot動態注入配置與docker設置環境變量的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇springboot動態注入配置與docker設置環境變量的方法是什么文章都會有所收獲,下面我們一起來看看吧。

一.springboot動態注入配置信息。

這是一個很簡單的問題,但是我不擅長記命令,只是知道實用jar -jar 啟動springboot項目的時候添加幾個參數,具體的參數我是一個記不住,也不知道這些命令是怎么配置的,這里就簡單整理一下。

springboot的配置優先級 默認配置 <配置文件 <命令配置

 1、設置數據庫連接地址url為空打包。

#這里是數據庫配置 數據庫的連接地址 現在我把url設置為空然后打包jar
spring:
  datasource:
    #數據源基本配置
    username: root
    password: jishuzhai
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: 
    type: com.alibaba.druid.pool.DruidDataSource

2、測試啟動。

java -jar brief-plus_oa.jar  #嘗試啟動應用 會報以下錯誤
#Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

3、注入參數啟動。

這個-D 是增加了我對java執行命令的認識

java -jar -Dspring.datasource.url="jdbc:mysql://127.0.0.1:3306/brief_min?zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8" brief-plus_oa.jar #啟動項目成功 注意這里的spring.datasource.url 要和配置文件里面的字段一致

4、自定義注入參數字段。

整個url字段全部注入現在太難輸入了,整個url只有ip地址是變化的這里可以簡化一下看下面配置:
 
 brief:
  mysql:
    host: #自定義的參數
    
spring:
  datasource:
    #數據源基本配置
    username: root
    password: jishuzhai
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://${brief.mysql.host}:3306/brief_min?zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8
    type: com.alibaba.druid.pool.DruidDataSource
重新打包然后運行:
 
java -jar -Dbrief.mysql.host=127.0.0.1 brief-plus_oa.jar #啟動成功

5、注入多個參數。

java -jar -Dspring.profiles.active=dev -DBRIEF.MYSQL.HOST=192.168.2.5 -DSPRING.REDIS.HOST=192.168.2.5  brief-plus_oa.jar 

6、常用啟動參數。

設置配置文件:端口,參數等

設置日志輸出

設置虛擬機設置

設置編碼

java -jar -Dserver.port=10000 brief-plus_oa.jar #設置端口
java -jar -DSPRING_PROFILES_ACTIVE=dev  brief-plus_oa.jar #設置生效的配置文件為dev
java -jar -Dlogging.path=/Users/fuping/Desktop/log brief-plus_oa.jar #設置日志文件存儲目錄
java -jar -Dbrief.mysql.host=127.0.0.1 brief-plus_oa.jar & #啟動打印進程id
java -jar -Dfile.encoding=utf-8  brief-plus_oa.jar #設置文件編碼 windows服務器啟動亂碼時使用
nohup java -jar  brief-plus_oa.jar > log.txt 2>&1 & #后臺啟動 并且將啟動日志輸入到log.txt文件 并且打印進程id
java -Xms256m -Xmx512m brief-plus_oa.jar #設置虛擬機內存地址

注意 -D后面的參數名稱不區分大小寫

二. docker動態注入env環境變量

1、Dockerfile配置。

FROM openjdk:17
# 鏡像是從 openjdk:11-jdk-alpin 繼承而來的
VOLUME /root/tmp
# 表示掛載了 /root/tmp 目錄到容器中
ADD build/libs/brief-plus_oa-0.0.1-SNAPSHOT.jar apprun.jar
# 將bootJar 添加到鏡像中根目錄下 命令為 apprun.jar
ENTRYPOINT ["java","-jar","/apprun.jar"]
# ENTRYPOINT 在容器啟動后執行 java 命令來運行程序
# 設置容器時間
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 8099

2、構建docker鏡像。

sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .

3、運行鏡像注入env環境變量。 -e

sudo docker run  -p 8090:8090 -e BRIEF.MYSQL.HOST=192.168.31.113  -e SPRING.REDIS.HOST=192.168.31.113 brief_plus_ao:v1.0.0.1

關于“springboot動態注入配置與docker設置環境變量的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“springboot動態注入配置與docker設置環境變量的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女