真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker使用Maven插件構(gòu)建鏡像的方法

通過 Maven 的 Docker 插件可以構(gòu)建 Docker 鏡像

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括大祥網(wǎng)站建設(shè)、大祥網(wǎng)站制作、大祥網(wǎng)頁制作以及大祥網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大祥網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大祥省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

快速入門

在 pom.xml 中添加 Docker 插件


  com.spotify
  docker-maven-plugin
  0.4.13
  
    linyuantongxue/docker-demo:0.0.1 // 指定鏡像名稱,linyuantongxue 是倉庫名稱(對(duì)應(yīng) DockerHub 用戶名),docker-demo 是鏡像名稱(對(duì)應(yīng) DockerHub 倉庫名),0.0.1 是標(biāo)簽名稱(相當(dāng)于版本號(hào))
    java   // 指定基礎(chǔ)鏡像,等同 FROM 指令
    ["java","-jar","app.jar"]    // 等同于 ENTRYPOINT 指令
    
      
        / 
        ${project.build.directory}  // 指定要復(fù)制的根目錄,${project.build.directory} 表示 target 目錄
        ${project.build.finalName}.jar  // 指定要復(fù)制的文件,${project.build.finalName}.jar 指打包后的 jar 文件
      
    
  

執(zhí)行以下命令構(gòu)建 Docker 鏡像

mvn clean package docker:build

執(zhí)行 docker images 查看剛才構(gòu)建的鏡像

讀取 Dockerfile 文件

讀取 Dockerfile 文件就不必指定 baseImage 和 entrypoint


  com.spotify
  docker-maven-plugin
  0.4.13
  
    ${project.basedir}/src/main/docker   // 指定要讀取的 Dockerfile 文件
    linyuantongxue/docker-demo:0.0.1 // 指定鏡像名稱,linyuantongxue 是倉庫名稱(對(duì)應(yīng) DockerHub 用戶名),docker-demo 是鏡像名稱(對(duì)應(yīng) DockerHub 倉庫名),0.0.1 是標(biāo)簽名稱(相當(dāng)于版本號(hào))
    
      
        / 
        ${project.build.directory}  // 指定要復(fù)制的根目錄,${project.build.directory} 表示 target 目錄
        ${project.build.finalName}.jar  // 指定要復(fù)制的文件,${project.build.finalName}.jar 指打包后的 jar 文件
      
    
  

將插件綁定在某個(gè) phase 執(zhí)行

很多場(chǎng)景下有這樣的需求,比如執(zhí)行 mvn clean package 時(shí)插件就自動(dòng)構(gòu)建 Docker 鏡像,要實(shí)現(xiàn)這點(diǎn)只需要將插件的 goal 綁定在某個(gè) phase 即可

maven 命令格式是:mvn phase:goal,phase 綁定了目標(biāo)的構(gòu)建生命周期階段,goal 配置的執(zhí)行目標(biāo)

只需添加如下配置:


  com.spotify
  docker-maven-plugin
  0.4.13
  // 在 maven 生命周期 package 中執(zhí)行 build 構(gòu)建目標(biāo)
  
    
      build-image
      package
      
        build
      
    
  
  // $$$$$$$$$$$$$$$$華麗的分割線$$$$$$$$$$$$$$$$
  
    linyuantongxue/docker-demo:0.0.1
    java
    ["java","-jar","app.jar"]
    
      
        /
        ${project.build.directory}
        ${project.build.finalName}.jar
      
    
  

推送鏡像

使用 Maven 插件也可以推送鏡像到 Docker Hub

修改 Maven 全局配置信息文件 settings.xml,配置 Docker Hub 用戶信息


  
    docker-hub
    # DockerHub 該網(wǎng)站的用戶名必須全部為小寫才正確
    linyuantongxue
    765371578Ly
    
      765371578@qq.com
    
  

修改 pom 文件


  com.spotify
  docker-maven-plugin
  0.4.13
  
    linyuantongxue/docker-demo:0.0.1
    java
    ["java","-jar","app.jar"]
    
      
        /
        ${project.build.directory}
        ${project.build.finalName}.jar
      
    
    
    docker-hub
  

執(zhí)行以下命令,添加 pushImage 標(biāo)識(shí),表示推送鏡像

mvn clean package docker:build -DpushImage

上面例子中通過 imageName 指定鏡像名稱和標(biāo)簽,也可以借助 imageTags 元素更為靈活的指定鏡像名稱和標(biāo)簽,這樣就可以為同一個(gè)鏡像指定兩個(gè)標(biāo)簽


  linyuantongxue/docker-demo
  
    0.0.1
    latest
  

也可在構(gòu)建命令時(shí)使用 dockerImageTags 參數(shù)指定標(biāo)簽名稱

復(fù)制代碼 代碼如下:

mvn clean package:build -DpushImageTags -DdockerImageTags=latest -DdockerImageTags=another-tag

若需要重復(fù)構(gòu)建相同標(biāo)簽名稱的鏡像,可將 forceTags 設(shè)置為 true


  // .......
  true

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


分享標(biāo)題:Docker使用Maven插件構(gòu)建鏡像的方法
文章出自:http://weahome.cn/article/gdsjpp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部