精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

無需Docker File,用三種方式創建Spring Boot應用的Docker鏡像

開發 前端
引入了容器的概念后,開發者在面對這個問題時有了更好的解決方案。容器將整個軟件堆棧打包成一個獨立的實體,并可以方便地進行部署,不再受限于"在我的機器上可以運行"的問題。

引言

隨著技術的發展,應用程序的部署方式也在不斷演變。傳統的部署方式需要為每個應用程序提供一臺獨立的機器,并確保機器的配置滿足應用程序的運行需求。

然而,引入了容器的概念后,開發者在面對這個問題時有了更好的解決方案。容器將整個軟件堆棧打包成一個獨立的實體,并可以方便地進行部署,不再受限于"在我的機器上可以運行"的問題。

因此,今天我們介紹三種構建Spring Boot應用程序的Docker鏡像的機制:Spring Boot構建插件;Fabric8 Maven插件;JIB Maven插件。

創建應用程序

訪問https://start.spring.io,并創建一個僅包含spring-web依賴項的應用程序。

添加一個簡單的控制器來接受一些請求。

@RestController
@SpringBootApplication
public class ServiceDockerImageBuildApplication {

   public static void main(String[] args) {
      SpringApplication.run(ServiceDockerImageBuildApplication.class, args);
   }

   @GetMapping("/")
   public ResponseEntity get(){
      return ResponseEntity.ok("All Ok");
   }
}

當運行這個應用程序并打開"http://localhost:8080"時,會得到一個響應"All Ok"。

接下來,使用Spring Boot構建插件構建我們的Docker鏡像。

1 使用Spring Boot構建插件構建Docker鏡像

Spring Boot的構建插件提供了一種使用BuildPacks概念創建Docker鏡像的方法。Build Packs提供了一種定義應用程序構建方式的方法。它會檢測應用程序的類型并進行構建,以便在特定平臺上或獨立于平臺運行。

現在,Spring Boot的構建插件使用BuildPack構建器鏡像,會自動檢測到它是一個Spring Boot應用程序,并構建相關的鏡像。

只需要使用Maven在Spring Boot應用程序上調用image-build目標即可。

mvn spring-boot:build-image

這將從BuildPacks中拉取基礎構建器鏡像,以檢測應用程序的類型并選擇適用于該應用程序的構建包。然后,它使用所選的構建包構建您的最終鏡像。

這里是一個顯示構建包所需的構建過程的日志。

===> DETECTING
[INFO]     [creator]     6 of 24 buildpacks participating
[INFO]     [creator]     paketo-buildpacks/ca-certificates   3.2.4
[INFO]     [creator]     paketo-buildpacks/bellsoft-liberica 9.3.7
[INFO]     [creator]     paketo-buildpacks/syft              1.12.0
[INFO]     [creator]     paketo-buildpacks/executable-jar    6.2.4
[INFO]     [creator]     paketo-buildpacks/dist-zip          5.2.4
[INFO]     [creator]     paketo-buildpacks/spring-boot       5.12.0
...
...
[INFO] Successfully built image 'docker.io/library/service-docker-image-build:0.0.1-SNAPSHOT'

可以使用參數指定最終鏡像的名稱,如下所示:

mvn spring-boot:build-image \
-Dspring-boot.build-image.imageName=my-spring-boot-image

或者可以在配置中指定,如下所示:

<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
   <configuration>
      <imageName>my-spring-boot-image</imageName>
   </configuration>
</plugin>

現在,可以在這里進行一些級別的自定義。如果想真正自定義鏡像的構建過程,需要創建自己的構建器鏡像來定義構建過程。

2 使用Fabric8 Maven插件構建Docker鏡像

Fabric8 Maven插件為構建和部署Java應用程序提供了一種簡化的方法,包括創建Docker鏡像。

首先,需要在pom.xml文件中添加Fabric8 Maven插件的依賴項。

<plugin>
   <groupId>io.fabric8</groupId>
   <artifactId>docker-maven-plugin</artifactId>
   <version>0.37.0</version>
   <executions>
      <execution>
         <id>docker-build</id>
         <phase>package</phase>
         <goals>
            <goal>build</goal>
         </goals>
      </execution>
   </executions>
   <configuration>
      <images>
         <image>
            <name>my-spring-boot-image</name>
            <build>
               <from>openjdk:11-jdk-slim</from>
               <tags>
                  <tag>latest</tag>
               </tags>
               <assembly>
                  <descriptorRef>artifact</descriptorRef>
               </assembly>
            </build>
         </image>
      </images>
   </configuration>
</plugin>

配置部分非常簡單。讓我們看一下<build>部分中的一些重要部分。

在<from>標簽中,指定了基礎鏡像,然后在<assembly>部分指定了鏡像的組裝方式。

在assembly部分,使用值為artifact的<descriptorRef>來指定我們只想復制構建的artifact,并使用<name>標簽指定它將被復制到目標鏡像中的位置。由于這里構建了一個單獨的fat jar,只需復制artifact。

最后,指定<cmd>來運行被復制的jar文件。

運行maven構建命令后,鏡像將被構建。

檢查鏡像的層,發現artifact被復制為最后一層,如下所示。

圖片圖片

可以創建分層的Docker鏡像,通過在assembly標簽中指定要創建的層以及需要在這些層中復制的內容。

現在,可以使用docker run -p 8080:8080 service-docker-image-build:0.0.1-SNAPSHOT簡單地運行docker文件。

3 使用Google的JIB插件構建Docker鏡像

讓我們來看看來自Google的JIB插件。它是由Google提供和維護的工具之一,提供了相當詳細的自定義級別。

<build>
   <plugins>
      <plugin>
         <groupId>com.google.cloud.tools</groupId>
         <artifactId>jib-maven-plugin</artifactId>
         <version>3.2.1</version>
         <configuration>
            <from>
               <image>openjdk:17</image>
            </from>
            <to>
               <image>jib-build-${project.name}:${project.version}</image>
            </to>
         </configuration>
         <executions>
            <execution>
               <phase>verify</phase>
               <goals>
                  <goal>dockerBuild</goal>
               </goals>
            </execution>
         </executions>
      </plugin>
   </plugins>
</build>

這里,在<from>標簽中指定了所需的基礎鏡像,而在<to>標簽中指定了最終鏡像的名稱。

現在,在<execution>部分中使用了dockerBuild目標,這樣Docker鏡像將會構建到本地Docker守護程序中。如果使用build目標,JIB插件將會構建Docker鏡像并將其推送到相應的倉庫。它支持所有主要的倉庫,如docker.io、AWS ECR、Google GCR、Azure ACR等。為此,可以設置身份驗證機制以推送鏡像。

來看看創建的鏡像的層次結構。

圖片圖片

圖像的層次結構如下所示:

  • 第 1 層:包含所有依賴項。
  • 第 2 層:包含應用程序資源。
  • 第 3 層:包含應用程序類。
  • 第 4 層:包含jib-classpath-file,其中包含類路徑信息,以及jib-main-class-file,其中包含要執行的完全限定的主類的名稱。
責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2025-01-08 09:55:37

Spring接口數據庫

2012-07-17 09:16:16

SpringSSH

2020-03-19 10:44:19

DockerSpring Boo單層鏡像

2011-06-03 11:53:06

Spring接口

2009-07-20 15:08:41

Spring實例化Be

2022-08-19 11:19:49

單元測試Python

2011-07-25 12:41:38

接入方式布線

2020-10-18 08:51:18

Spring Boot

2020-11-20 10:50:01

Docker容器

2025-07-29 04:11:00

SpringJSON數據

2011-07-22 17:22:20

Spring

2012-03-21 17:18:41

2012-03-18 21:10:07

2020-11-12 07:51:05

DockerSpring Boot應用

2023-11-22 15:22:34

SpringBootTomcat

2024-06-12 12:08:03

鏡像倉庫Cloudflare域名

2020-11-01 17:10:46

異步事件開發前端

2019-11-20 18:52:24

物聯網智能照明智能恒溫器

2021-11-05 21:33:28

Redis數據高并發

2021-06-24 08:52:19

單點登錄代碼前端
點贊
收藏

51CTO技術棧公眾號

你懂的在线看| 欧美日韩在线免费视频| 亚洲自拍偷拍视频| 国产 日韩 欧美 成人| 精品在线91| 欧美老肥妇做.爰bbww| 蜜臀av无码一区二区三区| 成黄免费在线| 成人免费视频app| 国产精品人人做人人爽| 欧美黄色一区二区三区| 国产一区二区三区四区| 欧美不卡视频一区| 精品亚洲一区二区三区四区| 久久国产精品黑丝| 中文字幕二三区不卡| 国产精品乱码视频| 中文字幕 日韩有码| 国产日韩欧美一区| 欧美精品情趣视频| 在线观看亚洲大片短视频| 国产精品一区二区三区美女| 在线播放一区二区三区| 日本免费一级视频| 成人性生交大片免费看网站| 国产精品久久久久永久免费观看| 久久久久久国产精品mv| www.亚洲天堂.com| 精品在线观看免费| 日韩av电影手机在线| 日本少妇在线观看| 欧美777四色影| 日韩天堂在线视频| av免费播放网站| 亚洲精品蜜桃乱晃| 日韩电影中文字幕一区| 911亚洲精选| 看亚洲a级一级毛片| 欧美日韩国产在线观看| 北条麻妃在线视频| 自拍网站在线观看| 日韩欧美精品免费在线| 欧美 日韩 亚洲 一区| 国产乱码在线| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲小说欧美另类激情| 日本美女高清在线观看免费| 国产视频一区在线播放| 欧美日韩免费高清| 欧美偷拍视频| 久久综合九色综合久久久精品综合| 国产精品对白刺激久久久| 99热这里只有精品9| 韩国成人在线视频| 91九色偷拍| 精品久久久中文字幕人妻| 国产精品一二三| 91丨九色丨国产| 亚洲精华国产精华精华液网站| 国产麻豆视频一区| 成人自拍偷拍| 五月激情婷婷网| 久久午夜羞羞影院免费观看| 欧美三级网色| 91成人高清| 亚洲女人的天堂| 2019日韩中文字幕mv| 岛国av免费在线观看| 亚洲综合在线观看视频| 国产综合中文字幕| 日韩精品99| 欧美日韩国产影片| 国产麻豆剧传媒精品国产| 北条麻妃在线一区二区免费播放| 亚洲国产成人久久综合一区| 少妇特黄一区二区三区| 日韩av在线播放网址| 久久天天躁夜夜躁狠狠躁2022| 日本妇女毛茸茸| 亚洲伦理精品| 国产精品美女久久| 国产成人久久精品77777综合 | 国产欧美第一页| 国产99久久久久久免费看农村| 国产精品一区二区三区免费观看 | 欧美激情在线观看| 国产午夜性春猛交ⅹxxx| 日本v片在线高清不卡在线观看| 国产精品成人一区二区网站软件| 欧美精品日日鲁夜夜添| av网址在线| 久久久另类综合| 亚洲激情一区二区| 中文字幕在线三区| 欧美视频一区二区三区…| 国产一线二线三线在线观看| 性欧美video另类hd尤物| 精品国产伦一区二区三区观看体验 | 91精品综合久久久久久五月天| 亚洲免费成人网| 日本一区二区三区高清不卡| 久久免费一级片| 蜜臀国产一区| 日韩一区二区三区在线观看| 精品成人av一区二区三区| 亚洲一区 二区 三区| 欧美一级视频在线观看| av天堂一区二区三区| 久久夜色精品国产欧美乱极品| 在线免费一区| 久久uomeier| 欧美不卡一区二区三区四区| 国产主播av在线| 亚洲欧美日韩视频二区| 国产不卡一区二区在线观看| 日本在线观看视频| 色伊人久久综合中文字幕| 人妻精油按摩bd高清中文字幕| 精品国产乱码久久久久久蜜坠欲下 | 日韩欧美黄色影院| 国产精品理论在线| 亚洲综合精品| 国产美女99p| 久草资源在线观看| 欧美视频一区二区在线观看| 97人妻天天摸天天爽天天| 中文视频一区| 成人免费视频a| 电影在线高清| 91精品91久久久中77777| 中文字幕一区三区久久女搜查官| 欧美~级网站不卡| 91精品久久久久久久久久入口 | 国产无人区一区二区三区| www.射射射| 国产三级精品在线不卡| 性感美女福利视频| 亚洲第一成年网| 性高潮免费视频| 欧美日本国产| 9a蜜桃久久久久久免费| www免费视频观看在线| 在线电影一区二区三区| 国产视频不卡在线| 免费在线一区观看| 日韩av一级大片| 亚洲精品中文字幕| 亚洲欧洲日产国产网站| 91玉足脚交嫩脚丫在线播放| 久久亚洲二区三区| 欧美xxxxx在线视频| 国产精品中文字幕亚洲欧美| 国产精品aaaa| 毛片免费不卡| 日韩一级免费一区| 精品视频久久久久| www.欧美精品一二区| 国产精品自拍片| 九九久久成人| 国产精品露脸自拍| 黄色网页在线观看| 日韩免费视频一区二区| 日韩精品视频播放| 久久久99免费| 57pao国产成永久免费视频| 婷婷另类小说| 成人情视频高清免费观看电影| a视频在线免费看| 精品福利一区二区三区| 国产精品视频免费播放| 久久久久久99精品| 亚洲黄色av片| 国产精品va| 欧美不卡福利| 午夜精品久久久久久毛片| 欧美大片网站在线观看| 亚洲欧美日韩精品永久在线| 91成人在线观看喷潮| frxxee中国xxx麻豆hd| 粉嫩aⅴ一区二区三区四区五区| 日韩av在线第一页| 成人久久一区| 成人黄视频免费| 亚洲午夜天堂| 久久精品成人一区二区三区| 日韩中文字幕观看| 欧美色图天堂网| 久久综合激情网| 国产欧美日韩在线看| 宇都宫紫苑在线播放| 校园春色综合网| 日本三日本三级少妇三级66| 日韩高清成人在线| 91网站在线看| 成人啊v在线| 久久久久久久国产精品视频| 超碰免费在线观看| 亚洲精品一区二区三区四区高清| 在线视频精品免费| 一区二区三区av电影| 免费看黄色av| 不卡欧美aaaaa| 日韩av片免费观看| 久久夜色精品| 国产高清av在线播放| 欧美xxav| 日韩av一级大片| 日韩高清影视在线观看| 亚洲最大成人免费视频| 欧美电影免费观看高清完整| 欧美激情视频一区二区三区不卡| 91精品国产91久久久久游泳池| 精品亚洲一区二区三区在线播放 | 色综合久久av| 欧美三级午夜理伦三级小说| 成人精品久久一区二区三区| 日本久久免费| 91a在线视频| 欧美伦理免费在线| 久久久精品影院| 99re在线视频| 亚洲视频777| 亚洲色偷精品一区二区三区| 欧美成人三级在线| 国产特级黄色片| 欧美视频一区在线观看| 国产免费一区二区三区四区五区 | 波多野结衣综合网| 人妻一区二区三区四区| 蜜桃一区二区三区在线观看| 无码aⅴ精品一区二区三区浪潮| 国语对白精品一区二区| 黄色特一级视频| 在线一区免费| 400部精品国偷自产在线观看| 日韩免费看片| 性欧美大战久久久久久久免费观看| 亚欧日韩另类中文欧美| 精品欧美一区二区在线观看视频| 中文字幕一区二区三区四区久久| 91久久国产精品91久久性色| 外国成人毛片| 51精品国产人成在线观看 | 五月天激情在线| 理论片在线不卡免费观看| 免费黄色电影在线观看| 深夜福利亚洲导航| 麻豆影院在线观看| xxxxx成人.com| 国产黄色小视频在线| 色综合久久久久久中文网| 手机在线免费看av| 欧美激情精品久久久| 美女91在线| 91av在线国产| 日本一区二区三区视频在线| 国产精品观看在线亚洲人成网| 国产亚洲一区二区手机在线观看 | 日韩在线你懂的| 久久偷看各类wc女厕嘘嘘偷窃| 九九在线高清精品视频| 欧美一区免费视频| 日韩在线第七页| 在线观看18视频网站| 亚洲电影成人| 精品久久久久久久免费人妻| 美女脱光内衣内裤视频久久网站 | 一区二区久久久久| 国产午夜福利精品| 色94色欧美sute亚洲线路二| 91尤物国产福利在线观看| 日韩欧美一二三| 性插视频在线观看| 尤物99国产成人精品视频| 成码无人av片在线观看网站| 国内揄拍国内精品少妇国语| 高端美女服务在线视频播放| 国产精品99久久99久久久二8| 国产精久久久| 精品国产一区二区三区日日嗨 | 一区二区成人av| av片在线观看| 欧美亚洲国产日韩2020| 欧美一级做a| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 亚洲精品天堂网| 亚洲午夜视频在线观看| 亚洲欧美日韩一区二区三区四区| 日韩亚洲欧美中文三级| 国产综合在线观看| 欧美猛交免费看| 一二区成人影院电影网| 97操在线视频| 成人激情诱惑| 激情五月宗合网| 精东粉嫩av免费一区二区三区| 亚洲成人av免费在线观看| 亚洲色图视频网| 四虎影院在线免费播放| 精品人在线二区三区| 亚洲精品传媒| 97色伦亚洲国产| 国产一精品一av一免费爽爽| 欧美极品色图| 亚洲性色视频| 一级黄色高清视频| 久久久精品国产免大香伊 | 欧美午夜免费电影| 人妻视频一区二区三区| 麻豆成人在线看| 久久久人成影片一区二区三区在哪下载 | 91成品人影院| 亚洲午夜未满十八勿入免费观看全集| 免费在线看电影| 96pao国产成视频永久免费| 欧美日韩色图| 日韩久久一级片| 成人av午夜电影| 欧美日韩一级在线观看| 91精品国产色综合久久不卡蜜臀| 国产一级免费在线观看| 97在线免费观看视频| 最新国产一区二区| 国产又粗又大又爽的视频| 久久精品国产一区二区| a天堂中文字幕| 色综合欧美在线视频区| 五月婷婷丁香花| 91国产美女视频| 免费萌白酱国产一区二区三区| 青春草国产视频| 高清av一区二区| 妺妺窝人体色www在线下载| 欧美一区二区在线播放| 久久综合之合合综合久久| 国产日韩欧美在线看| 久久国产综合| 中文字幕亚洲欧洲| 中文字幕在线不卡视频| 夜夜狠狠擅视频| 久久精品视频在线播放| 国产亚洲欧美日韩高清| 美女黄网久久| 少妇激情一区二区三区视频| 亚洲一区二区av电影| 成人av一区二区三区在线观看| 欧美精品免费看| 成人午夜大片| 成人综合视频在线| 久久网这里都是精品| 精品国产www| 精品国内自产拍在线观看| 精品国产鲁一鲁****| 国产欧美自拍视频| 懂色av一区二区夜夜嗨| 国产无遮挡又黄又爽| 午夜精品久久久久久不卡8050| 91免费公开视频| 欧美日韩一区二区在线观看视频 | 亚洲一级黄色片| 国产精品亚洲d| 中文字幕一区二区三区在线乱码| 国产一区二区美女诱惑| 日韩精品成人一区| 亚洲日韩中文字幕在线播放| 精品久久福利| www.国产亚洲| 久久影音资源网| 中文字字幕在线观看| 美女视频久久黄| 亚洲另类av| 精品久久久99| 五月天欧美精品| 91成人高清| 粉嫩av一区二区三区免费观看| 国产精品久久777777毛茸茸| 91精品国自产在线| 日韩精品专区在线影院观看| 蜜桃视频在线观看免费视频| 日韩午夜视频在线观看| 国产精品69久久久久水密桃 | 欧美片网站yy| 国产白丝在线观看| 欧洲精品久久| 国产美女久久久久| 黄色在线视频网址| 日韩视频免费看| 日韩欧美在线精品| www.五月婷婷| 欧美一区二区在线播放| 国产理论电影在线| 欧洲成人一区二区| 国产美女精品在线| 天天干天天操天天爱| 久久精彩免费视频| 久操精品在线| 麻豆tv在线观看| 欧美色图一区二区三区| 超碰资源在线| 懂色av一区二区三区四区五区|