springboot之docker啟動參數傳遞

來源:互聯網
上載者:User

標籤:build   設定檔   實現   ash   jvm參數   containe   情況下   AC   cto   

這幾天有網友問,如何在使用docker的情況下傳遞spring.profiles.active=test,也就是說springboot切換設定檔。以往我們直接通過java啟動jar的時候,直接跟上--spring.profiles.active=test或者利用jvm參數-Dspring.profiles.active=test來傳遞。我寫一些命令吧。

非docker下springboot切換設定檔

java -jar test.jar --spring.profiles.active=test #第一種情況切換設定檔

java -Dspring.profiles.active=test -jar test.jar #第二種情況切換設定檔

有朋友會疑惑,通過jvm參數怎麼可以切換呢,其實springboot是支援的哦。

docker下springboot切換設定檔

docker封裝了springboot後切換會多一些步驟,其實也不是很難。筆者找了網上好多文章,並沒有看到通過com.spotify:docker-maven-plugin這個docker打包外掛程式實現的環境變數傳遞參數,也可能是太簡單了,沒人寫,但是我看到好多人需要,我還是寫一下吧。但是網上有通過Dockerfile實現的Env變數傳遞的。下面我貼出pom中的打包外掛程式代碼:

請注意env節點和entryPoint的變化

com.spotifydocker-maven-plugin0.4.11pumelo/${project.artifactId}-${version}frolvlad/alpine-oraclejdk8:slim""[ "sh", "-c", "java $JAVA_OPTS -jar /${project.build.finalName}.jar" ]/${project.build.directory}${project.build.finalName}.jar

測試

從新打包鏡像後,運行

docker run -e JAVA_OPTS=‘-Xms128m -Xmx256m -Dspring.profiles.active=prod‘ -it pumelo/test-1.0.0 /bin/bash

這樣就可以通過jvm參數來切換springboot的設定檔啦。

感謝各位看官捧場。

springboot之docker啟動參數傳遞

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.