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!
推薦閱讀:
- 使用docker在linux環境中部署springboot包的教程
- Dockerfile中的保留字指令的過程解析
- Centos8.3、docker部署springboot項目實戰案例分析
- Dockerfile文件詳解
- Docker快速部署SpringBoot項目介紹