成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker容器啟用Spring Profiles

shinezejian / 3581人閱讀

摘要:在使用快速搭建基于的微服務(wù)時,碰到了關(guān)于的問題。通過解決這個問題的過程,覺得有必要梳理一下在容器中啟用的方式。例如會將傳遞給容器通過定義如果基于,或使用文件部署鏡像,可以通過文件的標(biāo)簽傳遞。

在使用Spring Boot快速搭建基于Docker的微服務(wù)時,碰到了關(guān)于spring.profiles.active的問題。
具體可以參見我在stackoverflow的提問。
https://stackoverflow.com/que...

通過解決這個問題的過程,覺得有必要梳理一下在Docker容器中啟用Spring Profile的方式。
剛好看到一篇比較好的文章,翻譯了其中的大部分內(nèi)容。

======================= 如下為翻譯內(nèi)容 =============================

通過Dockerfile定義Spring Profile

通常在命令行中我們可以使用“java -jar” 運(yùn)行 Spring Boot應(yīng)用。
而Profiles信息可以作為額外參數(shù)傳遞,比如“-Dspring.profiles.active=dev”

java -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=dev -jar rest-api.jar

相似的,我們可以在Dockerfile中將Profile的信息作為參數(shù)傳遞進(jìn)去,例如:

FROM java:8
ADD target/my-api.jar rest-api.jar
RUN bash -c "touch /user-service.jar"
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=dev","-jar","/rest-api.jar"]

需要注意最后的ENTRYPOINT一行,在這行中我們傳遞java命令以執(zhí)行jar文件,所有需要的參數(shù)和值以逗號方式分隔傳遞。
“-Dspring.profiles.active=dev” 是我們定義dev profile的地方,我們可以替換dev為任何需要的名字。

通過Docker run命令定義Spring Profile

可以將spring profile作為環(huán)境變量傳遞給docker run命令,使用 -e 標(biāo)記。
例如 -e “SPRING_PROFILES_ACTIVE=dev”會將dev profile傳遞給Docker容器

docker run -d -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=dev" --name rest-api dockerImage:latest
通過Docker Compose定義Spring Profile

如果基于DockerSwarm,或使用docker-compose.yml文件部署Docker鏡像,Spring Profile可以通過docker-compose.yml文件的 environment 標(biāo)簽傳遞。
例如:

...
version: "3"
services:
  rest-api:
   image: rest-api:0.0.1
   ports:
     - "8080:8080" 
   environment:
     - "SPRING_PROFILES_ACTIVE=dev"  
...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27039.html

相關(guān)文章

  • spring boot 配合maven打成可執(zhí)行jar,構(gòu)建鏡像部署到docker容器

    摘要:本篇文章將介紹應(yīng)用如何打成包并將構(gòu)建為鏡像部署到中應(yīng)用打包需要配合打包將以下代碼放到應(yīng)用文件中執(zhí)行打打包命令命令執(zhí)行完成后在應(yīng)用目錄下會有打出來打包此包會包含應(yīng)用所有打依賴直接拷出這個包在命令行執(zhí)行應(yīng)用名就可以運(yùn)行了構(gòu)建鏡像 本篇文章將介紹springboot應(yīng)用如何打成jar包,并將jar構(gòu)建為docker鏡像部署到docker中 應(yīng)用打包 需要配合spring-boot-mave...

    y1chuan 評論0 收藏0
  • Spring Boot 框架介紹和使用

    摘要:使用還是,根據(jù)個人喜好即可。如果錯誤頁面也需要使用模板引擎動態(tài)生成,那么放在下面的路徑。數(shù)據(jù)庫自動配置嵌入式數(shù)據(jù)庫如果類路徑中包含或的相應(yīng)包,那么就會自動配置這些嵌入式數(shù)據(jù)庫的實(shí)例和數(shù)據(jù)源。 本文參考自Spring Boot文檔。 Spring Boot 簡介 Spring框架功能很強(qiáng)大,但是就算是一個很簡單的項(xiàng)目,我們也要配置很多東西。因此就有了Spring Boot框架,它的作用很...

    Zack 評論0 收藏0
  • Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)

    摘要:應(yīng)用化極簡教程陳光劍基于的企業(yè)級應(yīng)用開發(fā)最佳實(shí)踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運(yùn)行測試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項(xiàng)目實(shí)踐中,會實(shí)現(xiàn)一套應(yīng)用部署發(fā)布的自動化運(yùn)維平臺工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級應(yīng)用開發(fā)最佳實(shí)踐 前面的章節(jié)中,...

    Donne 評論0 收藏0
  • Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)

    摘要:應(yīng)用化極簡教程陳光劍基于的企業(yè)級應(yīng)用開發(fā)最佳實(shí)踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運(yùn)行測試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項(xiàng)目實(shí)踐中,會實(shí)現(xiàn)一套應(yīng)用部署發(fā)布的自動化運(yùn)維平臺工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級應(yīng)用開發(fā)最佳實(shí)踐 前面的章節(jié)中,...

    rose 評論0 收藏0
  • Maven profile整合Spring profile

    摘要:此時可以嘗試或命令打包,安裝包內(nèi)的文件中占位符已被替換。整合原理項(xiàng)目中一般都會加上可以查看的文件,里面包含定義的值是這樣插件會將或文件中的替換為中對應(yīng)的值。 在Maven和Spring中,都有profile這個概念。profile是用于區(qū)分各種環(huán)境的,例如開發(fā)環(huán)境、測試環(huán)境、正式環(huán)境等。Maven的profile用于在打包時根據(jù)指定環(huán)境替換不同環(huán)境的配置文件配置,如數(shù)據(jù)庫配置。Spri...

    用戶84 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<