1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      Docker中如何部署SpringBoot項(xiàng)目

      這篇文章將為大家詳細(xì)講解有關(guān)Docker 中如何部署 Spring Boot 項(xiàng)目,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

      成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及活動(dòng)板房等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

      一、Maven 插件配置

      首先在 Maven pom.xml 配置文件中加入 Docker 的 Maven 插件。

      我看網(wǎng)上很多人還在用 docker-maven-plugin 插件:


          docker



          
              
                  com.spotify
                  docker-maven-plugin
                  1.2.2
                  
                      ${docker.image.prefix}/${project.artifactId}
                      src/main/docker
                      
                          
                              /
                              ${project.build.directory}
                              ${project.build.finalName}.jar
                          

                      

                  

              

          


       

      你們還在用這個(gè)插件嗎?

      棧長(zhǎng)從官方倉(cāng)庫(kù)看到,這個(gè)插件官方已經(jīng)不維護(hù)了:

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      所以這個(gè)插件我就不推薦大家使用了,而是推薦官方的另外一個(gè)插件:dockerfile-maven


          
              
                  com.spotify
                  dockerfile-maven-plugin
                  1.4.13
                  
                      
                          default
                          
                              build
                              push
                          

                      

                  

                  
                      javastack/${project.name}
                      ${project.version}
                      
                          ${project.build.finalName}.jar
                      

                      src/main/docker/Dockerfile
                  

              

          


       

      這個(gè)插件使用簡(jiǎn)單,功能更強(qiáng)大。

      新插件地址:

      https://github.com/spotify/dockerfile-maven

      最新版插件的環(huán)境要求:

      • JDK 7+

      • Apache Maven 3.5.2+

      這個(gè)插件的牛逼之處在于:

      1、從插件名稱就可以知道,這個(gè)插件是基于 Dockerfile 文件進(jìn)行構(gòu)建 Docker 項(xiàng)目的,專注 Dockerfile 文件,所以需要一個(gè) Dockerfile 文件,Dockerfile 也是構(gòu)建 Docker 項(xiàng)目的基石。

      2、把 Docker 的構(gòu)建過(guò)程集成到了 Maven 的構(gòu)建過(guò)程之中,如果使用默認(rèn)的配置,使用 mvn package 命令就能打包成一個(gè) Docker 鏡像,使用 mvn deploy 命令就能推送到 Docker 倉(cāng)庫(kù)。

      3、使我們的構(gòu)建目標(biāo)更明確,如我們先使用 mvn dockerfile:build 然后再 mvn dockerfile:tag,然后再 mvn dockerfile:push,也可以滿足同時(shí)構(gòu)建再推送的場(chǎng)景,如:mvn dockerfile:build dockerfile:push,這都沒(méi)問(wèn)題的。

      4、與 Maven 構(gòu)建集成,我們可以在一個(gè)項(xiàng)目中依賴另外一個(gè)項(xiàng)目的 Docker 鏡像,Maven 將以正確的順序構(gòu)建項(xiàng)目。當(dāng)我們運(yùn)行涉及多個(gè)服務(wù)的集成測(cè)試用例時(shí),這很有用的。

       

      二、Docker 配置

      Dockerfile 是創(chuàng)建 Docker 鏡像的基本配置文件,本身是一個(gè)文本文件。

      插件默認(rèn)加載位置為項(xiàng)目所在根目錄,因?yàn)槲以谏厦娴?Maven 插件配置中指明了路徑。所以,在 src/main/docker/ 目錄下添加一個(gè) Dockerfile 文件:

      # 添加 Java 8 鏡像來(lái)源
      FROM java:8

      # 添加參數(shù)
      ARG JAR_FILE

      # 添加 Spring Boot 包
      ADD target/${JAR_FILE} app.jar

      # 執(zhí)行啟動(dòng)命令
      ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
       

      值得說(shuō)一下的是,上面的 JAR_FILE 參數(shù)就是從 Docker Maven 插件中指定的構(gòu)建參數(shù),這也是這個(gè)插件的強(qiáng)大之處,可以翻到文章上面去看一下。

      具體的 Dockerfile 文件細(xì)節(jié)比較多,這里就不展開(kāi)詳細(xì)介紹了,后面我再開(kāi)一篇單獨(dú)介紹,關(guān)注公眾號(hào)Java技術(shù)棧第一時(shí)間推送。

       

      三、添加測(cè)試接口

      添加一個(gè)測(cè)試接口,以便后面部署測(cè)試。

      package cn.javastack.springboot.docker;

      import org.springframework.boot.Banner;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      import org.springframework.boot.builder.SpringApplicationBuilder;
      import org.springframework.web.bind.annotation.GetMapping;
      import org.springframework.web.bind.annotation.RestController;

      /**
       * 微信公眾號(hào):Java技術(shù)棧
       */
      @RestController
      @SpringBootApplication
      public class DockerApplication {

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

          @GetMapping("/docker/hello")
          public String helloDocker() {
              return "hello docker";
          }

      }
       

      Spring Boot 基礎(chǔ)性的知識(shí)和搭建過(guò)程就不介紹了,不熟悉的可以關(guān)注公眾號(hào)Java技術(shù)棧,在后臺(tái)回復(fù)關(guān)鍵字 "boot" 閱讀我之前寫的系列教程。

      所有 Spring Boot 教程實(shí)戰(zhàn)源碼在下面?zhèn)€倉(cāng)庫(kù):

      https://github.com/javastacks/spring-boot-best-practice

      本篇所有實(shí)戰(zhàn)源碼到時(shí)也會(huì)全部同步到上面,大家 Star 一下吧!

       

      四、構(gòu)建 Docker 鏡像

      配置了 Maven 插件和 Dockerfile 文件后就可以開(kāi)始構(gòu)建 Docker 鏡像了。

      上面也說(shuō)了,Docker 構(gòu)建過(guò)程已經(jīng)集成到了 Maven 的構(gòu)建過(guò)程之中,那么可以直接使用 mvn package 就可以同時(shí)打包和構(gòu)建 Docker 鏡像了。

      在 IDEA 中可以直接點(diǎn)擊插件對(duì)應(yīng)的命令運(yùn)行:

      Docker 中如何部署 Spring Boot 項(xiàng)目  
      Docker 中如何部署 Spring Boot 項(xiàng)目  

      插件會(huì)根據(jù) Dockerfile 文件構(gòu)建,文件中有多少條命令,就分為幾個(gè)步驟構(gòu)建,如果沒(méi)問(wèn)題就會(huì)構(gòu)建成功。

       

      五、IDEA 怎么操作 Docker?

      一旦我們創(chuàng)建了 Dockerfile 文件,IDEA 就會(huì)自動(dòng)識(shí)別并提示我們創(chuàng)建 Docker 連接,當(dāng)然,我們也可以調(diào)出 Services 面板進(jìn)行手動(dòng)創(chuàng)建。

      打開(kāi) IDEA 中的 Services 面板:

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      然后點(diǎn)擊 Add service > Docker Connection 來(lái)添加一個(gè) Docker 連接:

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      創(chuàng)建完后會(huì)自動(dòng)連接上,點(diǎn)擊展開(kāi)會(huì)顯示 Docker 本地所有鏡像和容器:

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      如上圖所示,就是我們剛構(gòu)建的鏡像。

       

      六、創(chuàng)建并運(yùn)行容器

      右擊上面的鏡像,選擇 "Create Container" 菜單來(lái)創(chuàng)建并運(yùn)行一個(gè)容器。

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      填寫相應(yīng)的運(yùn)行參數(shù),再點(diǎn)擊運(yùn)行按鈕,容器即開(kāi)始運(yùn)行。

      然后在 Build Log 和 Log 面板中可以看到容器運(yùn)行日志和應(yīng)用程序運(yùn)行日志:

      Docker 中如何部署 Spring Boot 項(xiàng)目  
      Docker 中如何部署 Spring Boot 項(xiàng)目  

      項(xiàng)目在 Docker 中運(yùn)行起來(lái)了,然后再訪問(wèn)下上面寫的測(cè)試接口:

      http://localhost:8080/docker/hello

      Docker 中如何部署 Spring Boot 項(xiàng)目  

      關(guān)于Docker 中如何部署 Spring Boot 項(xiàng)目就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


      分享題目:Docker中如何部署SpringBoot項(xiàng)目
      轉(zhuǎn)載來(lái)源:http://www.ef60e0e.cn/article/gcoshg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        逊克县| 大余县| 阳山县| 兴安盟| 临沂市| 海南省| 茶陵县| 重庆市| 彭州市| 瑞丽市| 海南省| 彭阳县| 哈尔滨市| 丰镇市| 禹城市| 洛扎县| 高尔夫| 神池县| 和顺县| 宣汉县| 浦江县| 陇南市| 巴青县| 凤翔县| 清流县| 海南省| 武夷山市| 广宗县| 外汇| 武隆县| 东至县| 涿鹿县| 延边| 仪陇县| 托里县| 中西区| 原平市| 屏山县| 营山县| 永昌县| 太康县|