Springboot打包為Docker鏡像並部署的實現

一、Springboot項目運行正常

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

在這裡插入圖片描述

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

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

在這裡插入圖片描述

二、Maven打包項目

執行如下命令即可:

// 先清空再打包
mvn clean package

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

在這裡插入圖片描述

註意:此處我們打包為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 "[email protected]"

# 把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

執行成功後如下所示:

在這裡插入圖片描述

六、運行鏡像

先看看有沒有我們的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

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

在這裡插入圖片描述

七、驗證部署的項目

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

註意這裡的地址是部署Docker機器的地址,可見我們已經成功將我們的Springboot項目打包成Docker並部署運行瞭!

在這裡插入圖片描述

到此這篇關於Springboot打包為Docker鏡像並部署的實現的文章就介紹到這瞭,更多相關Springboot打包Docker鏡像內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: