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

資訊專欄INFORMATION COLUMN

SpringBoot項目打包為Docker鏡像

IT那活兒 / 4059人閱讀
SpringBoot項目打包為Docker鏡像

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


  
Docker是一個開源的應用容器引擎,使用Docker可以實現(xiàn)開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境的一致性。
下面介紹將SpringBoot項目打包成Docker鏡像的兩種方式。



使用Dockerfile文件.生成鏡像

先將SpringBoot項目打包成jar包(這里使用示例工程docker-demo),然后放到有docker環(huán)境的服務器中。

在jar包目錄下新建Dockerfile文件,內(nèi)容如下:

運行命令【docker build -t docker-demo:0.0.1 .】構(gòu)建鏡像:

運行【docker images】查看docker-demo:0.0.1鏡像構(gòu)建成功。

運行【docker run -d -p 8081:8081 docker-demo:0.0.1】啟動鏡像,并將docker容器的8081端口映射到宿主機的8081端口。

查看運行的容器,可以看到docker-demo:0.0.1已正常運行,且查看容器日志也正常啟動,訪問程序功能可以正常響應。



利用maven插件生成鏡像

maven是目前最流行的Java項目管理工具之一,我們也可以利用maven進行docker鏡像打包。

Dockerfile Maven是Spotify公司提供的一款maven插件,用以輔助Docker項目進行Dockerfile文件構(gòu)建、標簽和發(fā)布。

首先,在pom.xml文件中引入該插件。此處定義了構(gòu)建的目標、倉庫名稱、鏡像名稱、鏡像版本等信息。

在項目源碼目錄內(nèi)新建Dockerfile文件,內(nèi)容如圖。

接下來通過maven命令【mvn clean package】構(gòu)建項目,前提本地需要有maven和docker環(huán)境,截取部分maven構(gòu)建日志如下:

[INFO] --- dockerfile-maven-plugin:1.4.13:build (default) @ docker-demo ---

[INFO] dockerfile: null

[INFO] contextDirectory: /root/docker-demo

[INFO] Building Docker context /root/docker-demo

[INFO] Path(dockerfile): null

[INFO] Path(contextDirectory): /root/docker-demo

[INFO]

[INFO] Image will be built as shsnc/docker-demo:0.0.2

[INFO]

[INFO] Step 1/7 : FROM java:8

[INFO] Trying to pull repository docker.io/library/java ...

[INFO] Pulling from docker.io/library/java

[INFO] Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

[INFO] Status: Image is up to date for docker.io/java:8

[INFO]  ---> d23bdf5b1b1b

[INFO] Step 2/7 : MAINTAINER suntt

[INFO]  ---> Using cache

[INFO]  ---> 5dc4a92a74f1

[INFO] Step 3/7 : WORKDIR /app/docker-demo

[INFO]  ---> Using cache

[INFO]  ---> fd21efce4a6e

[INFO] Step 4/7 : ARG JAR_FILE

[INFO]  ---> Running in d9e1be8b3266

[INFO]  ---> e54019a81490

[INFO] Removing intermediate container d9e1be8b3266

[INFO] Step 5/7 : ADD target/docker-demo /app/docker-demo

[INFO]  ---> 579ce6cfedd4

[INFO] Removing intermediate container 4c4d75bc4519

[INFO] Step 6/7 : EXPOSE 8081

[INFO]  ---> Running in 8adc60ec81b4

[INFO]  ---> 50ff3b856ce0

[INFO] Removing intermediate container 8adc60ec81b4

[INFO] Step 7/7 : ENTRYPOINT java -jar /app/docker-demo/docker-demo.jar

[INFO]  ---> Running in 855ffffd626ec9

[INFO]  ---> c726d26352c1

[INFO] Removing intermediate container 855ffffd626ec9

[INFO] Successfully built c726d26352c1

[INFO]

[INFO] Detected build of image with id c726d26352c1

[INFO] Building jar: /root/docker-demo/target/docker-demo-docker-info.jar

[INFO] Successfully built shsnc/docker-demo:0.0.2

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 40.518 s

[INFO] Finished at: 2022-07-20T10:47:52+08:00

[INFO] ------------------------------------------------------------------------

查看docker鏡像,可以看到shsnc/docker-demo:0.0.2鏡像構(gòu)建成功。

啟動鏡像,由于方式一占用了宿主機8081端口,此處將容器內(nèi)8081端口映射至宿主機8082端口。

查看運行中的容器,可看到方式一和方式二構(gòu)建的鏡像都已成功運行,后續(xù)訪問方式和普通Java工程沒有區(qū)別,通過maven方式構(gòu)建鏡像成功。


本文作者:孫濤濤(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

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

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

相關(guān)文章

  • 一個網(wǎng)站的微服務架構(gòu)實戰(zhàn)(1)dockerdocker-compose

    摘要:文件服務器項目為文章共享社區(qū),少不了的就是一個存儲文章的文件服務器,包括存儲一些圖片之類的靜態(tài)資源。例如數(shù)據(jù)庫的數(shù)據(jù)文件的配置文件和文件服務器目錄。 前言 這是一次完整的項目實踐,Angular頁面+Springboot接口+MySQL都通過Dockerfile打包成docker鏡像,通過docker-compose做統(tǒng)一編排。目的是實現(xiàn)整個項目產(chǎn)品的輕量級和靈活性,在將各個模塊的鏡像...

    CODING 評論0 收藏0
  • springboot項目 docker部署實踐

    摘要:所以就嘗試在環(huán)境下利用阿里云倉庫完成部署。從阿里云中拉取鏡像啟動命名空間倉庫名稱容器鏡像鏡像版本號這樣就能將本地的項目打包成容器在阿里云上發(fā)布了。 網(wǎng)上查了下大部分boot項目部署都是在linux和docker hub環(huán)境下完成的,由于本人開發(fā)環(huán)境在windows下面,并且docker容器也是使用的docker tools,而且也沒有做docker hub的加速。所以就嘗試在windo...

    DDreach 評論0 收藏0
  • 市長信箱郵件查詢服務: 將SpringBoot應用部署到Docker

    摘要:市長信箱郵件查詢服務將應用部署到在上一章我完成了將部署到的工作和都具有能快速啟動的特性因此是一對用來部署微服務的黃金搭檔在計劃中基于的應用也將部署到之上那我們就開始行動吧將部署到上需要執(zhí)行以下步驟保證打包后的可執(zhí)行能正常啟動在應用中編寫鏡像 市長信箱郵件查詢服務: 將SpringBoot應用部署到Docker 在上一章, 我完成了將ES部署到Docker的工作. SpringBoot和...

    SKYZACK 評論0 收藏0
  • 使用 Docker 部署 Spring Boot項目

    摘要:項目上傳將項目上傳到華為云服務器,沒啥好說的。環(huán)境搭建建議在環(huán)境下安裝,環(huán)境搭建比較復雜且容易出錯,使用來安裝環(huán)境很方便。使用部署項目將項目復制到服務器中,進入項目路徑下進行打包測試。 項目搭建 Spring Boot 項目代碼 @RestController public class SpringBootDockerApplication { public static vo...

    venmos 評論0 收藏0
  • SpringBoot使用Docker快速部署項目

    摘要:它是目前最流行的容器解決方案。創(chuàng)建文件在中加入以下信息注意必須和包在同一路徑下基礎(chǔ)鏡像必要,代表你的項目將構(gòu)建在這個基礎(chǔ)上面允許指定端口轉(zhuǎn)發(fā)創(chuàng)建一個可以從本地主機或其他容器掛載的掛載點,一般用來存放數(shù)據(jù)庫和需要保持的數(shù)據(jù)等。 1.簡介 建議閱讀本文最好對Dokcer有一些了解 首先我們先了解一下Docker是什么 Docker 屬于 Linux 容器的一種封裝,提供簡單易用的容器使用接...

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

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

    Donne 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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