溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么將Springboot項目打包成一個Docker鏡像

發布時間:2020-12-21 15:24:04 來源:億速云 閱讀:2499 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關怎么將Springboot項目打包成一個Docker鏡像,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、Springboot項目運行正常

打包前,Springbooot項目在本地必須是運行正常的。我們這里使用本專欄寫起來的項目,如下所示:

怎么將Springboot項目打包成一個Docker鏡像

來訪問一下我們接口,做連通性驗證測試:

注意這里的地址是本地地址,因為我是在本地IDEA里面運行的項目!

怎么將Springboot項目打包成一個Docker鏡像

二、Maven打包項目

執行如下命令即可:

// 先清空再打包
mvn clean package

打包成功之后如下所示,提示BUILD SUCCESS,target目錄下會有打好的jar包:

怎么將Springboot項目打包成一個Docker鏡像

注意:此處我們打包為jar包,直接部署在Docker中。如果打為war包,則需要在Docker中先部署Tomcat(或者直接拉取Tomcat鏡像),然后再將war包部署在Tomcat中,我們不搞那么復雜。

三、打包鏡像前準備

1、創建一個文件夾

mkdir dockerFile

2、進入文件夾,創建文件:Dockerfile(必須是這個文件名)

cd dockerFile
touch Dockerfile

3、將我們Springboot打包成的jar包也放在這個文件夾

ls
Dockerfile    hello_springboot.jar

四、關鍵一步:編寫Dockerfile

Dockerfile的詳解請閱讀本專欄上一篇文章!

一個極簡的例子:

# 拉取基礎鏡像
FROM java:8

# 設置作者信息
MAINTAINER suiyi "suiyi@666.com"

# 把hello_springboot.jar添加到容器里,并重命名為app.jar
# 因為hello_springboot.jar和Dockerfile在同一個目錄下,所以只寫文件名即可
ADD hello_springboot.jar app.jar

# 設置端口號,此處只開放一個端口8083
EXPOSE 8083

# 執行命令,此處運行app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","app.jar"]

五、打包Docker鏡像

運行一條命令即可(注意最后有個.號):

docker build -f Dockerfile -t hello_spring:v1.0 .

-f:指定Dockerfile文件
-t:指定鏡像的標簽信息

可以使用如下命令查看具體參數的作用:

docker build --help

執行成功后如下所示:

怎么將Springboot項目打包成一個Docker鏡像

六、運行鏡像

先看看有沒有我們的docker鏡像:

docker images

運行我們的鏡像:

// -p后面有兩個端口,分別是:宿主機端口:容器端口
docker run -p 8083:8083 --name=hello_spring hello_spring:v1.0

以上是沒有后臺運行的情況,如果要后臺運行,則添加-d參數即可:

// -p后面有兩個端口,分別是:宿主機端口:容器端口
docker run -d -p 8083:8083 --name=hello_spring hello_spring:v1.0

非后臺運行之后效果如下:

怎么將Springboot項目打包成一個Docker鏡像

七、驗證部署的項目

我們來訪問一下我們接口,做連通性測試:

注意這里的地址是部署Docker機器的地址,可見我們已經成功將我們的Springboot項目打包成Docker并部署運行了!

怎么將Springboot項目打包成一個Docker鏡像

以上就是怎么將Springboot項目打包成一個Docker鏡像,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女