日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Boot Docker打包工具小結

瀏覽:22日期:2023-07-15 16:26:53

Spring Boot Docker打包工具小結

最近公司的應用準備容器化,因為幾十個應用從測試到發布太麻煩了,而且還會因為環境的因素導致部署中出現各種問題。為了在開發、測試、生產都能保持一致的環境,就引進了容器技術,先拿邊緣的項目試試水,積累下經驗,今天對幾種常見的Spring Boot Docker打包工具進行了簡單總結。

Spring Boot Docker

在Spring Boot應用中,我們可以約定不同的標識來定義不同的環境。例如 dev 表示開發環境、test表示測試環境,對應的配置文件為apppcation-dev.yaml、apppcation-test.yaml。我們通過聲明spring.profiles.active來激活對應的環境配置,例如激活dev環境時spring.profiles.active=dev。完整的啟動命令為:

java -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=dev -jar spring-boot-app.jar

根據上面的命令編寫一個能夠適應多環境的Dockerfile:

# 引入 openjdk 鏡像 FROM adoptopenjdk/openjdk8 # 聲明作者 LABEL AUTHOR=felord OG=felord.cn # 掛載幾個有用的文件夾 比如日志 VOLUME ['/tmp','/logs'] # 聲明一個環境參數用來動態啟用配置文件 默認dev ENV ACTIVE=dev # 暴露端口 EXPOSE 8080 # 復制并修改應用打包后的jar文件名稱 ADD /target/flyway-spring-boot-1.0.0.jar app.jar # 容器啟動時第一個運行的命令 用來啟動應用 ENTRYPOINT ['java','-Djava.security.egd=file:/dev/./urandom','-Dspring.profiles.active=${ACTIVE}','-jar','app.jar']

這樣打包的Docker鏡像就可以通過docker run添加額外的--env ACTIVE=test 來動態的改變環境。單純的編寫Dockerfile不方便我們DevOps。

Spring Boot Docker打包工具小結

docker 鏡像生命周期

我們需要能夠自動地構建、推送到倉庫、拉取鏡像、運行一系列流水線操作。好在市面上有很多工具來幫助我們實現這一過程。

spring-boot-maven-plugin

這個是Spring Boot官方的插件,在2.x的某個版本提供了Docker鏡像構建能力。

<project> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <name>docker.repo.com/library/${project.artifactId}:${project.version}</name> <publish>true</publish> </image> <docker> <publishRegistry><username>user</username><password>secret</password><url>https://docker.repo.com/v1/</url><email>user@example.com</email> </publishRegistry> </docker> </configuration> </plugin> </plugins> </build> </project>

配置好Docker私倉后就可以通過mvn clean spring-boot:build-image 進行構建鏡像了。

這種方式好處就是無額外依賴,缺點就是需要從github下載構建元件,網絡如果不好就容易失敗。

Spotify Maven Plugin

Spotify Maven 插件是一個目前比較普遍的選擇。它要求應用程序開發人員編寫Dockerfile,并把Dockerfile放在項目src/main/docker目錄下。然后你就可以通過引入:

<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.8</version> <configuration> <repository>repo.com/${project.artifactId}</repository> </configuration> </plugin>

這個插件提供了mvn dockerfile:build、mvn dockerfile:tag、mvn dockerfile:push三個命令分別用來構建、打標簽、發布到遠端私有倉庫,非常簡單。

這個是一個非常容易上手的插件,唯一的要求就是需要會編寫Dockerfile,對定制化要求高的可以使用這個。

Jib Maven Plugin

這個曾經我在早些時候的一篇文章中已經介紹過了,可以詳細了解一下。它是谷歌開源的OCI鏡像打包工具,可以用來打包Docker鏡像,大部分情況下已經滿足需要。但是如果你要定制化的話還是不容易的,需要閱讀官方給的文檔。最開始的Dockerfile如果使用JIb的話需要這樣配置:

<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>3.0.0</version> <configuration> <from> <image>adoptopenjdk/openjdk8</image> </from> <to> <image>docker.repo.com/library/${project.artifactId}</image> <auth> <username>felord</username> <password>xxxxxx</password> </auth> <tags> <tag>${project.version}</tag> </tags> </to> <extraDirectories> <paths> <path> <from>target/${project.artifactId}-${project.version}.jar</from> <includes>*.jar</includes> <into>/app.jar</into> </path> </paths> </extraDirectories> <containerizingMode>packaged</containerizingMode> <container> <volumes>/tmp,/logs</volumes> <ports> <port>8080</port> </ports> <environment> <active>dev</active> </environment> <entrypoint> java,-Djava.security.egd=file:/dev/./urandom,-Dspring.profiles.active=${active},-jar,/app.jar </entrypoint> <creationTime>USE_CURRENT_TIMESTAMP</creationTime> </container> </configuration> </plugin>

優點是不需要本地Docker環境,而且支持分層構建、鏡像瘦身,上手容易;缺點是定制化比較困難。

到此這篇關于Spring Boot的 Docker打包插件哪個好用的文章就介紹到這了,更多相關Spring Boot Docker打包插件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美国三级日本三级久久99| 欧美亚洲一区二区三区| 日韩精品午夜视频| 青草国产精品| 黑森林国产精品av| 国产精品99一区二区三| 国产成人精品一区二区三区在线| 欧美1区二区| 国产精品v日韩精品v欧美精品网站 | 亚洲成人一区在线观看| 欧美日韩在线二区| 在线亚洲国产精品网站| 亚洲制服少妇| 欧美日韩1区2区3区| 成人污污视频| 欧美欧美黄在线二区| 日韩激情啪啪| 91精品一区二区三区综合| 日产午夜精品一线二线三线| 精品成人18| 国模精品一区| 国产精品1区| 伊人久久视频| 国产亚洲久久| 日韩午夜高潮| 婷婷激情一区| 美女精品视频在线| 亚洲九九精品| 亚洲电影在线一区二区三区| 国产极品模特精品一二| 丝袜美腿亚洲一区二区图片| 精品一区二区三区免费看 | 视频一区免费在线观看| 久久永久免费| 日本不卡中文字幕| 欧美日韩国产亚洲一区| 国产麻豆一区二区三区| 天堂av在线| 中文字幕成人| 久久久777| 精品国产亚洲一区二区三区| 丝袜美腿一区二区三区| 国产激情在线播放| 日韩精选在线| 亚洲精华国产欧美| 久久99免费视频| 国产一区日韩一区| 美女国产精品久久久| 亚洲涩涩av| 伊人久久成人| 久久中文字幕av| 福利一区二区免费视频| 亚州av一区| 国产91一区| 国产一区二区三区久久 | 亚洲一区网站| 国产一区日韩欧美| 久久久久久夜| 成人国产综合| 成人午夜在线| 日韩高清一区| 日本成人中文字幕在线视频| 在线一区电影| 精品一区亚洲| 国产亚洲在线| 三级亚洲高清视频| 蘑菇福利视频一区播放| 一区二区三区午夜视频| 亚洲精品成人一区| 国产亚洲高清视频| 亚洲精品裸体| 免费一级欧美片在线观看网站 | 久久久久久婷| 丰满少妇一区| 999精品色在线播放| 日韩视频一区| 日本欧洲一区二区| 伊人久久大香伊蕉在人线观看热v| 日本免费一区二区视频| 日本aⅴ精品一区二区三区| 久久精品99国产精品日本| 美女尤物国产一区| 国内精品福利| 日韩三级一区| 成人亚洲一区二区| 综合欧美精品| 亚洲tv在线| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 久久国产精品久久w女人spa| 日韩精品亚洲专区| 美女性感视频久久| 亚洲天堂成人| 一区在线免费观看| 国产精品99精品一区二区三区∴| 日韩国产一区| 国产九九精品| 99国产成+人+综合+亚洲欧美| 国产午夜久久av| 精品在线99| 国精品产品一区| 久久国产成人| 久久精品青草| 精品一区二区三区视频在线播放| 黄色亚洲免费| 日本韩国欧美超级黄在线观看| 午夜精品影视国产一区在线麻豆| 精品中国亚洲| 欧美特黄一区| 国产精品高潮呻吟久久久久| 三级在线观看一区二区| 美女少妇全过程你懂的久久| 欧美日韩激情| 不卡一区2区| 亚洲调教视频在线观看| 日韩在线短视频| 日本不卡免费高清视频在线| 精品久久久久中文字幕小说| 国产精品手机在线播放| 国产精品毛片视频| 日韩一区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 蜜桃视频第一区免费观看| 美女毛片一区二区三区四区| 精品一区二区三区免费看| 成人国产精品久久| 国产成人精品一区二区三区视频 | 亚洲va中文在线播放免费| 国产a亚洲精品| 亚洲精品在线a| 91精品91| 日本91福利区| 国产99久久| 亚洲性色av| 国产精品草草| 国产精品成人国产| 在线亚洲自拍| 天堂日韩电影| 日韩欧美精品| 成人欧美一区二区三区的电影| 国产亚洲高清一区| 国产伦一区二区三区| 亚洲欧美久久精品| 亚洲精品在线国产| 国产资源在线观看入口av| 免费美女久久99| 美女网站久久| 欧美专区一区| 美女国产一区二区三区| 成人国产精品一区二区免费麻豆| 国产成人精品一区二区三区免费| 青青草91视频| 日韩激情综合| 久久国内精品自在自线400部| 久久xxxx| 日韩精品国产欧美| 国产亚洲久久| 国产午夜久久av| 欧美va亚洲va日韩∨a综合色| 日韩av中文在线观看| 国产成人久久精品麻豆二区 | 精品国产精品国产偷麻豆| av在线最新| 美女尤物久久精品| 91麻豆精品| 日韩精品永久网址| 亚洲青青久久| 性欧美videohd高精| 日韩国产一区| 欧美一区免费| 五月天激情综合网| 国产精品高清一区二区| 国产一区白浆| av一区在线| 国产乱码精品| 蜜臀精品久久久久久蜜臀| 欧洲av不卡| 欧美极品中文字幕| 亚洲久草在线| 91精品一区国产高清在线gif| 国产一卡不卡| 国产精品一区二区三区四区在线观看| 国产欧美日韩影院| 国产色播av在线| 国产高清久久| 五月国产精品| 日本视频中文字幕一区二区三区| 日韩深夜视频| 欧美sss在线视频| 伊人网在线播放| 青青草国产精品亚洲专区无| 91精品蜜臀一区二区三区在线 | 麻豆国产精品一区二区三区| 久久高清免费| 国产视频亚洲| 99国产一区| 国产综合色产| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 亚洲欧美日韩精品一区二区| 欧美日韩99| 亚洲性视频在线|