這篇文章主要介紹了springboot動態注入配置與docker設置環境變量的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇springboot動態注入配置與docker設置環境變量的方法是什么文章都會有所收獲,下面我們一起來看看吧。
這是一個很簡單的問題,但是我不擅長記命令,只是知道實用jar -jar 啟動springboot項目的時候添加幾個參數,具體的參數我是一個記不住,也不知道這些命令是怎么配置的,這里就簡單整理一下。
springboot的配置優先級 默認配置 <配置文件 <命令配置
#這里是數據庫配置 數據庫的連接地址 現在我把url設置為空然后打包jar spring: datasource: #數據源基本配置 username: root password: jishuzhai driver-class-name: com.mysql.cj.jdbc.Driver url: type: com.alibaba.druid.pool.DruidDataSource
java -jar brief-plus_oa.jar #嘗試啟動應用 會報以下錯誤
#Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
這個-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 要和配置文件里面的字段一致
整個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 #啟動成功
java -jar -Dspring.profiles.active=dev -DBRIEF.MYSQL.HOST=192.168.2.5 -DSPRING.REDIS.HOST=192.168.2.5 brief-plus_oa.jar
設置配置文件:端口,參數等
設置日志輸出
設置虛擬機設置
設置編碼
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后面的參數名稱不區分大小寫
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
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設置環境變量的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。